time="2024-07-08T13:05:15Z" level=warning msg="/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/integration-test/docker-compose.yaml: `version` is obsolete" Container integration-test-gateway-1 Creating Container integration-test-authentication-1 Creating Container integration-test-device-1 Creating Container integration-test-experiment-1 Creating Container integration-test-authorization-1 Creating Container integration-test-federation-1 Creating Container integration-test-authorization-1 Created Container integration-test-gateway-1 Created Container integration-test-device-1 Created Container integration-test-authentication-1 Created Container integration-test-federation-1 Created Container integration-test-experiment-1 Created Attaching to authentication-1, authorization-1, device-1, experiment-1, federation-1, gateway-1 gateway-1 | /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration gateway-1 | /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/ gateway-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh gateway-1 | 10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf gateway-1 | 10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf gateway-1 | /docker-entrypoint.sh: Sourcing /docker-entrypoint.d/15-local-resolvers.envsh gateway-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-create_config.sh gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/authorization_service.conf to /etc/nginx/authorization_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/nginx.conf to /etc/nginx/nginx.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/device_service.conf to /etc/nginx/device_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/experiment_service.conf to /etc/nginx/experiment_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/auth_service.conf to /etc/nginx/auth_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/federation_service.conf to /etc/nginx/federation_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_json_errors.conf to /etc/nginx/api_json_errors.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_backends.conf to /etc/nginx/api_backends.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_gateway.conf to /etc/nginx/api_gateway.conf gateway-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh gateway-1 | /docker-entrypoint.sh: Configuration complete; ready for start up federation-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} federation-1 | {"level":"info","message":"Federation Service started successfully"} authorization-1 | {"addrs":["localhost:3011"],"diagnostic-addrs":[],"level":"info","msg":"Initializing server.","subsystem":"opa","time":"2024-07-08T13:05:50Z"} authentication-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} experiment-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} experiment-1 | {"level":"info","message":"Experiment Service started successfully"} authentication-1 | {"level":"info","message":"Authentication Service started successfully"} device-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} device-1 | {"level":"info","message":"Device Service started successfully"} authorization-1 | {"client_addr":"127.0.0.1:54910","level":"info","msg":"Received request.","req_id":1,"req_method":"GET","req_path":"/","subsystem":"opa","time":"2024-07-08T13:05:50Z"} authorization-1 | {"client_addr":"127.0.0.1:54910","level":"info","msg":"Sent response.","req_id":1,"req_method":"GET","req_path":"/","resp_bytes":1424,"resp_duration":0.305286,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:05:50Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"๐Ÿงช experimental features enabled: []","subsystem":"openfga","timestamp":1720443950.8930347} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"using 'memory' storage engine","subsystem":"openfga","timestamp":1720443950.8931274} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"warn","message":"authentication is disabled","subsystem":"openfga","timestamp":1720443950.8931565} 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":1720443950.8931859} 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":1720443950.8932164} 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":1720443950.8932734,"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":1720443950.8938115} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"HTTP server listening on 'localhost:3013'...","subsystem":"openfga","timestamp":1720443950.8948047} 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:53712","raw_request":{"name":"crosslab"},"raw_response":{"created_at":"2024-07-08T13:05:50.923973471Z","id":"01J2976NTB6683FF4WGCXC7BA7","name":"crosslab","updated_at":"2024-07-08T13:05:50.923973471Z"},"request_id":"e7eb2298-f9ec-446d-a4bb-2644455f22b2","subsystem":"openfga","timestamp":1720443950.924091} 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:53712","raw_request":{"schema_version":"1.1","store_id":"01J2976NTB6683FF4WGCXC7BA7","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_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":"01J2976NW1R9Z5SE309FG3MBR8"},"request_id":"d6157653-ba3b-4604-bed9-7b723c20e095","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443950.9771273} authorization-1 | {"client_addr":"127.0.0.1:54910","level":"info","msg":"Received request.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","subsystem":"opa","time":"2024-07-08T13:05:50Z"} authorization-1 | {"client_addr":"127.0.0.1:54910","level":"info","msg":"Sent response.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","resp_bytes":0,"resp_duration":0.20082,"resp_status":204,"subsystem":"opa","time":"2024-07-08T13:05:50Z"} authorization-1 | {"level":"info","message":"Authorization Service started successfully"} authorization-1 | {"current_version":"0.54.0","download_opa":"https://openpolicyagent.org/downloads/v0.66.0/opa_linux_amd64","latest_version":"0.66.0","level":"info","msg":"OPA is out of date.","release_notes":"https://github.com/open-policy-agent/opa/releases/tag/v0.66.0","subsystem":"opa","time":"2024-07-08T13:05:51Z"} gateway-1 | {"time_local":"08/Jul/2024:13:05:54 +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.023","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"f74eae7f2abe127bc87dca728aa1b692"} authentication-1 | {"level":"info","message":"HEAD /auth/status 200 15ms","method":"HEAD","requestID":"f74eae7f2abe127bc87dca728aa1b692","responseTime":15,"status":200,"url":"/auth/status"} gateway-1 | {"time_local":"08/Jul/2024:13:05:54 +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.012","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"4c6ecf1ee0f7abd24f9f192c293d064f"} device-1 | {"level":"info","message":"HEAD /device/status 200 8ms","method":"HEAD","requestID":"cf184610-3d2a-11ef-b23c-0125361f42d1","responseTime":8,"status":200,"url":"/device/status"} gateway-1 | {"time_local":"08/Jul/2024:13:05:54 +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.014","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"48e371f4d1bf91bb7330fb9d67c61c25"} authorization-1 | {"level":"info","message":"HEAD /authorization/status 200 6ms","meta":{"req":{"headers":{"accept":"*/*","connection":"close","host":"authorization_service","user-agent":"curl/7.81.0","x-request-id":"48e371f4d1bf91bb7330fb9d67c61c25"},"httpVersion":"1.0","method":"HEAD","originalUrl":"/authorization/status","query":{},"url":"/authorization/status"},"res":{"statusCode":200},"responseTime":6}} gateway-1 | {"time_local":"08/Jul/2024:13:05:54 +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.010","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"b1dc65edbbae8c08baf344489e371d79"} federation-1 | {"level":"info","message":"HEAD /federation/status 200 7ms","method":"HEAD","requestID":"cf1e6090-3d2a-11ef-8735-c1a27f9ff9d0","responseTime":7,"status":200,"url":"/federation/status"} gateway-1 | {"time_local":"08/Jul/2024:13:05:54 +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.015","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"41f046b297e5ce1fbefae97c0de42e47"} experiment-1 | {"level":"info","message":"HEAD /experiment/status 200 9ms","method":"HEAD","requestID":"cf216dd0-3d2a-11ef-ae80-f1f3f7107287","responseTime":9,"status":200,"url":"/experiment/status"} gateway-1 | {"time_local":"08/Jul/2024:13:05:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /login HTTP/1.1","status": "201","body_bytes_sent":"88","request_time":"0.156","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f444868d99054c577faf0d5fd8d18b24"} authentication-1 | {"level":"info","message":"POST /login 201 133ms","method":"POST","requestID":"f444868d99054c577faf0d5fd8d18b24","responseTime":133,"status":201,"url":"/login"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk1N30.4q2ZtzKGO-7rHfqENYEOKVJhAWgTjcfHyocTDA6sIAc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 23ms","method":"GET","requestID":"782151247ce10b3f8d63c4d56b822470","responseTime":23,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:45620","level":"info","msg":"Received request.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:05:57Z"} authorization-1 | {"client_addr":"127.0.0.1:45620","level":"info","msg":"Sent response.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.917934,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:05:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443957,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk1N30.4q2ZtzKGO-7rHfqENYEOKVJhAWgTjcfHyocTDA6sIAc"} authorization-1 | {"level":"info","message":"POST /authorize 200 26ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"782151247ce10b3f8d63c4d56b822470"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":26}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2cd9fb6d-3681-4e90-811c-2c4113b661a7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2c19bbbe-77dc-4d02-9968-02603d0b6927","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443957.5303123} 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":"782151247ce10b3f8d63c4d56b822470"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"66c3e50e-498d-4c0d-a4b7-e20551c30128","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443957.5460281} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"782151247ce10b3f8d63c4d56b822470"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2cd9fb6d-3681-4e90-811c-2c4113b661a7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"4393f4de-ed1f-44d6-9bd7-c776f757ce59","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443957.5649388} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"14b30a7b-3bb5-4c45-9043-e6cb9d6a9121","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443957.5657122} 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":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"782151247ce10b3f8d63c4d56b822470"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":22}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2cd9fb6d-3681-4e90-811c-2c4113b661a7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2cd9fb6d-3681-4e90-811c-2c4113b661a7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:05:57.564910406Z"}]},"request_id":"e625e816-7cfd-47ca-ba0f-76531cb28a44","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443957.5735238} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"782151247ce10b3f8d63c4d56b822470"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:05:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.278","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"782151247ce10b3f8d63c4d56b822470"} device-1 | {"level":"info","message":"POST /devices? 201 237ms","method":"POST","requestID":"782151247ce10b3f8d63c4d56b822470","responseTime":237,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk1N30.4q2ZtzKGO-7rHfqENYEOKVJhAWgTjcfHyocTDA6sIAc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1920299732de7f19dbd9053df325d0d7","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:45620","level":"info","msg":"Received request.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:05:57Z"} authorization-1 | {"client_addr":"127.0.0.1:45620","level":"info","msg":"Sent response.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.879438,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:05:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443957,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk1N30.4q2ZtzKGO-7rHfqENYEOKVJhAWgTjcfHyocTDA6sIAc"} 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":"1920299732de7f19dbd9053df325d0d7"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F179e0b69-11f0-4136-893f-965c8af8b486","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2705eadd-ac1e-4a40-b0e7-165ac466a165","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443957.6391656} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1920299732de7f19dbd9053df325d0d7"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8a6e1558-8c93-4a70-81e6-575c1ee183a8","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443957.6521764} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1920299732de7f19dbd9053df325d0d7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F179e0b69-11f0-4136-893f-965c8af8b486","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"b9f465f1-6d2d-4289-a3b6-5e3028588928","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443957.6708639} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3ce67b2b-8069-4f28-b7dd-d3ae5f77c126","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443957.6711555} authorization-1 | {"level":"info","message":"POST /relations/update 200 23ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1920299732de7f19dbd9053df325d0d7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":23}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F179e0b69-11f0-4136-893f-965c8af8b486","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F179e0b69-11f0-4136-893f-965c8af8b486","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:05:57.670845389Z"}]},"request_id":"86f7af13-6a14-4d76-928d-ddf0e66ce690","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443957.6839573} 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":"1920299732de7f19dbd9053df325d0d7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:05:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.089","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1920299732de7f19dbd9053df325d0d7"} device-1 | {"level":"info","message":"POST /devices? 201 84ms","method":"POST","requestID":"1920299732de7f19dbd9053df325d0d7","responseTime":84,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3f88eac78ca0aeef244348d307ce0a2c","responseTime":4,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"32e5a8c1e8c6281fbe64a7b1b3d47bc3","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:06:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/179e0b69-11f0-4136-893f-965c8af8b486/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.013","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"3f88eac78ca0aeef244348d307ce0a2c"} device-1 | {"level":"info","message":"OPTIONS /devices/179e0b69-11f0-4136-893f-965c8af8b486/websocket 200 4ms","method":"OPTIONS","requestID":"3f88eac78ca0aeef244348d307ce0a2c","responseTime":4,"status":200,"url":"/devices/179e0b69-11f0-4136-893f-965c8af8b486/websocket"} gateway-1 | {"time_local":"08/Jul/2024:13:06:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/2cd9fb6d-3681-4e90-811c-2c4113b661a7/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.016","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"32e5a8c1e8c6281fbe64a7b1b3d47bc3"} device-1 | {"level":"info","message":"OPTIONS /devices/2cd9fb6d-3681-4e90-811c-2c4113b661a7/websocket 200 2ms","method":"OPTIONS","requestID":"32e5a8c1e8c6281fbe64a7b1b3d47bc3","responseTime":2,"status":200,"url":"/devices/2cd9fb6d-3681-4e90-811c-2c4113b661a7/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk2NX0.O0oPb38f7Z2J26kOfcA9XbKGG93NPdFxcLttS9Hvcg0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 14ms","method":"GET","requestID":"53f4f789a857f4e4e5f268cbb6adadff","responseTime":14,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk2NX0.O0oPb38f7Z2J26kOfcA9XbKGG93NPdFxcLttS9Hvcg0","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication-1 | {"level":"info","message":"GET /auth 200 11ms","method":"GET","requestID":"8d643d6f43cf0f5532a5e1b253e0d37b","responseTime":11,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:05Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.989249,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:05Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/179e0b69-11f0-4136-893f-965c8af8b486","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/179e0b69-11f0-4136-893f-965c8af8b486","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443965,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk2NX0.O0oPb38f7Z2J26kOfcA9XbKGG93NPdFxcLttS9Hvcg0"} 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":"53f4f789a857f4e4e5f268cbb6adadff"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"client_addr":"127.0.0.1:58608","level":"info","msg":"Received request.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:05Z"} authorization-1 | {"client_addr":"127.0.0.1:58608","level":"info","msg":"Sent response.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.362102,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:05Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2cd9fb6d-3681-4e90-811c-2c4113b661a7","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/2cd9fb6d-3681-4e90-811c-2c4113b661a7","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443965,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk2NX0.O0oPb38f7Z2J26kOfcA9XbKGG93NPdFxcLttS9Hvcg0"} 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":"8d643d6f43cf0f5532a5e1b253e0d37b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/2cd9fb6d-3681-4e90-811c-2c4113b661a7/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.080","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"8d643d6f43cf0f5532a5e1b253e0d37b"} device-1 | {"level":"info","message":"POST /devices/2cd9fb6d-3681-4e90-811c-2c4113b661a7/websocket 200 56ms","method":"POST","requestID":"8d643d6f43cf0f5532a5e1b253e0d37b","responseTime":56,"status":200,"url":"/devices/2cd9fb6d-3681-4e90-811c-2c4113b661a7/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/179e0b69-11f0-4136-893f-965c8af8b486/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.130","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"53f4f789a857f4e4e5f268cbb6adadff"} device-1 | {"level":"info","message":"POST /devices/179e0b69-11f0-4136-893f-965c8af8b486/websocket 200 112ms","method":"POST","requestID":"53f4f789a857f4e4e5f268cbb6adadff","responseTime":112,"status":200,"url":"/devices/179e0b69-11f0-4136-893f-965c8af8b486/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/2cd9fb6d-3681-4e90-811c-2c4113b661a7' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/179e0b69-11f0-4136-893f-965c8af8b486' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk2NX0.O0oPb38f7Z2J26kOfcA9XbKGG93NPdFxcLttS9Hvcg0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"5565f1d35c15a2cf71a5c6b0cb8bf428","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:05Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.532639,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2cd9fb6d-3681-4e90-811c-2c4113b661a7","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/2cd9fb6d-3681-4e90-811c-2c4113b661a7","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443965,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk2NX0.O0oPb38f7Z2J26kOfcA9XbKGG93NPdFxcLttS9Hvcg0"} 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":"5565f1d35c15a2cf71a5c6b0cb8bf428"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2cd9fb6d-3681-4e90-811c-2c4113b661a7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2cd9fb6d-3681-4e90-811c-2c4113b661a7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:05:57.564910406Z"}]},"request_id":"c04ae4e5-0ee3-4f3d-9c71-1fe2821fbc82","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443965.8477547} 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":"5565f1d35c15a2cf71a5c6b0cb8bf428"},"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":"08/Jul/2024:13:06:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2cd9fb6d-3681-4e90-811c-2c4113b661a7? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5565f1d35c15a2cf71a5c6b0cb8bf428"} device-1 | {"level":"info","message":"GET /devices/2cd9fb6d-3681-4e90-811c-2c4113b661a7? 200 39ms","method":"GET","requestID":"5565f1d35c15a2cf71a5c6b0cb8bf428","responseTime":39,"status":200,"url":"/devices/2cd9fb6d-3681-4e90-811c-2c4113b661a7?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk2NX0.O0oPb38f7Z2J26kOfcA9XbKGG93NPdFxcLttS9Hvcg0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"5090c811b965bc1c322b69048f2dbbb4","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:05Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.276996,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/179e0b69-11f0-4136-893f-965c8af8b486","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/179e0b69-11f0-4136-893f-965c8af8b486","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443965,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk2NX0.O0oPb38f7Z2J26kOfcA9XbKGG93NPdFxcLttS9Hvcg0"} 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":"5090c811b965bc1c322b69048f2dbbb4"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F179e0b69-11f0-4136-893f-965c8af8b486","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F179e0b69-11f0-4136-893f-965c8af8b486","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:05:57.670845389Z"}]},"request_id":"2a66cfee-a1e9-4936-9b53-0d5d110e952b","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443965.901967} 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":"5090c811b965bc1c322b69048f2dbbb4"},"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":"08/Jul/2024:13:06:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/179e0b69-11f0-4136-893f-965c8af8b486? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5090c811b965bc1c322b69048f2dbbb4"} device-1 | {"level":"info","message":"GET /devices/179e0b69-11f0-4136-893f-965c8af8b486? 200 31ms","method":"GET","requestID":"5090c811b965bc1c322b69048f2dbbb4","responseTime":31,"status":200,"url":"/devices/179e0b69-11f0-4136-893f-965c8af8b486?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk2NX0.O0oPb38f7Z2J26kOfcA9XbKGG93NPdFxcLttS9Hvcg0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"0e75df2ecda5665eb48f4a66d489f5fb","responseTime":8,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:06Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.937526,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443965,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk2NX0.O0oPb38f7Z2J26kOfcA9XbKGG93NPdFxcLttS9Hvcg0"} 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":"0e75df2ecda5665eb48f4a66d489f5fb"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/761a90de-55d5-467d-a77c-2ecadbc1f904"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/761a90de-55d5-467d-a77c-2ecadbc1f904"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/761a90de-55d5-467d-a77c-2ecadbc1f904"},"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:58600","level":"info","msg":"Received request.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:06Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.616927,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:06Z"} authorization-1 | {"client_addr":"127.0.0.1:58608","level":"info","msg":"Received request.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2cd9fb6d-3681-4e90-811c-2c4113b661a7","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/2cd9fb6d-3681-4e90-811c-2c4113b661a7","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443965,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk2NX0.O0oPb38f7Z2J26kOfcA9XbKGG93NPdFxcLttS9Hvcg0"} 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":"d616bd70-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:58608","level":"info","msg":"Sent response.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.645718,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/179e0b69-11f0-4136-893f-965c8af8b486","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/179e0b69-11f0-4136-893f-965c8af8b486","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443965,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk2NX0.O0oPb38f7Z2J26kOfcA9XbKGG93NPdFxcLttS9Hvcg0"} 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":"d6170b90-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F179e0b69-11f0-4136-893f-965c8af8b486","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F179e0b69-11f0-4136-893f-965c8af8b486","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:05:57.670845389Z"}]},"request_id":"02de47f6-d4e2-48b8-8fce-04f59490869e","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443966.1683295} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d6170b90-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2cd9fb6d-3681-4e90-811c-2c4113b661a7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2cd9fb6d-3681-4e90-811c-2c4113b661a7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:05:57.564910406Z"}]},"request_id":"8f48573f-3e4e-47c9-9199-93945e9aa2c0","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443966.1697555} 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":"d616bd70-3d2a-11ef-b23c-0125361f42d1"},"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/179e0b69-11f0-4136-893f-965c8af8b486? 200 25ms","method":"GET","requestID":"d6170b90-3d2a-11ef-b23c-0125361f42d1","responseTime":25,"status":200,"url":"/devices/179e0b69-11f0-4136-893f-965c8af8b486?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/2cd9fb6d-3681-4e90-811c-2c4113b661a7? 200 28ms","method":"GET","requestID":"d616bd70-3d2a-11ef-b23c-0125361f42d1","responseTime":28,"status":200,"url":"/devices/2cd9fb6d-3681-4e90-811c-2c4113b661a7?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/761a90de-55d5-467d-a77c-2ecadbc1f904"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/761a90de-55d5-467d-a77c-2ecadbc1f904"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/761a90de-55d5-467d-a77c-2ecadbc1f904"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/761a90de-55d5-467d-a77c-2ecadbc1f904"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/761a90de-55d5-467d-a77c-2ecadbc1f904"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/761a90de-55d5-467d-a77c-2ecadbc1f904"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/761a90de-55d5-467d-a77c-2ecadbc1f904"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/761a90de-55d5-467d-a77c-2ecadbc1f904"},"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/761a90de-55d5-467d-a77c-2ecadbc1f904"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:06Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.765174,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:06Z"} authorization-1 | {"client_addr":"127.0.0.1:58608","level":"info","msg":"Received request.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2cd9fb6d-3681-4e90-811c-2c4113b661a7","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/2cd9fb6d-3681-4e90-811c-2c4113b661a7","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443965,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk2NX0.O0oPb38f7Z2J26kOfcA9XbKGG93NPdFxcLttS9Hvcg0"} 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":"d6290cf0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58608","level":"info","msg":"Sent response.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.233891,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/179e0b69-11f0-4136-893f-965c8af8b486","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/179e0b69-11f0-4136-893f-965c8af8b486","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443965,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk2NX0.O0oPb38f7Z2J26kOfcA9XbKGG93NPdFxcLttS9Hvcg0"} 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":"d6298220-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:06Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2cd9fb6d-3681-4e90-811c-2c4113b661a7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ea2f4baa-c7d9-4485-9739-d243c9fd27b1","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443966.3019125} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F179e0b69-11f0-4136-893f-965c8af8b486","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F179e0b69-11f0-4136-893f-965c8af8b486","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:05:57.670845389Z"}]},"request_id":"cc44990d-3a29-4407-9567-967cf3063dfc","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443966.3036942} 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":"d6298220-3d2a-11ef-b23c-0125361f42d1"},"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:58600","level":"info","msg":"Sent response.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.104812,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2cd9fb6d-3681-4e90-811c-2c4113b661a7","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2cd9fb6d-3681-4e90-811c-2c4113b661a7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d629f750-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":15}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2cd9fb6d-3681-4e90-811c-2c4113b661a7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2cd9fb6d-3681-4e90-811c-2c4113b661a7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:05:57.564910406Z"}]},"request_id":"4e654e64-4eff-443d-916e-5a0c15f9d4f8","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443966.3063183} 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":"d6290cf0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F761a90de-55d5-467d-a77c-2ecadbc1f904#owner@http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F761a90de-55d5-467d-a77c-2ecadbc1f904","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"2dc32a2b-1cc0-4f69-9acd-40bff285a0ce","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443966.3167276} 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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d6c6ba4b-b14b-49aa-b6a3-48b69ec00039","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443966.317202} device-1 | {"level":"info","message":"GET /devices/179e0b69-11f0-4136-893f-965c8af8b486? 200 44ms","method":"GET","requestID":"d6298220-3d2a-11ef-b23c-0125361f42d1","responseTime":44,"status":200,"url":"/devices/179e0b69-11f0-4136-893f-965c8af8b486?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"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":"0e75df2ecda5665eb48f4a66d489f5fb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":36}} device-1 | {"level":"info","message":"POST /devices/2cd9fb6d-3681-4e90-811c-2c4113b661a7/signaling 200 45ms","method":"POST","requestID":"d629f750-3d2a-11ef-b23c-0125361f42d1","responseTime":45,"status":200,"url":"/devices/2cd9fb6d-3681-4e90-811c-2c4113b661a7/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/2cd9fb6d-3681-4e90-811c-2c4113b661a7? 200 53ms","method":"GET","requestID":"d6290cf0-3d2a-11ef-b23c-0125361f42d1","responseTime":53,"status":200,"url":"/devices/2cd9fb6d-3681-4e90-811c-2c4113b661a7?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:06Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/761a90de-55d5-467d-a77c-2ecadbc1f904","user":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F179e0b69-11f0-4136-893f-965c8af8b486","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b86e620b-6f52-407b-b338-b3335ca2c48c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443966.3378284} authorization-1 | {"client_addr":"127.0.0.1:58608","level":"info","msg":"Received request.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:06Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.72434,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/179e0b69-11f0-4136-893f-965c8af8b486","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/179e0b69-11f0-4136-893f-965c8af8b486","object_type":"device","rebac_allow":false,"scope_allow":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":"d6320da0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2cd9fb6d-3681-4e90-811c-2c4113b661a7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"055075f8-b325-4ca4-bd5e-7bd574a89979","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443966.3402267} authorization-1 | {"client_addr":"127.0.0.1:58608","level":"info","msg":"Sent response.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.282419,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:06Z"} gateway-1 | {"time_local":"08/Jul/2024:13:06: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.421","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0e75df2ecda5665eb48f4a66d489f5fb"} experiment-1 | {"level":"info","message":"POST /experiments? 201 389ms","method":"POST","requestID":"0e75df2ecda5665eb48f4a66d489f5fb","responseTime":389,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2cd9fb6d-3681-4e90-811c-2c4113b661a7","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2cd9fb6d-3681-4e90-811c-2c4113b661a7","object_type":"device","rebac_allow":false,"scope_allow":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":"d63282d0-3d2a-11ef-b23c-0125361f42d1"},"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/179e0b69-11f0-4136-893f-965c8af8b486/signaling 200 15ms","method":"POST","requestID":"d6320da0-3d2a-11ef-b23c-0125361f42d1","responseTime":15,"status":200,"url":"/devices/179e0b69-11f0-4136-893f-965c8af8b486/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/2cd9fb6d-3681-4e90-811c-2c4113b661a7/signaling 200 15ms","method":"POST","requestID":"d63282d0-3d2a-11ef-b23c-0125361f42d1","responseTime":15,"status":200,"url":"/devices/2cd9fb6d-3681-4e90-811c-2c4113b661a7/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk2Nn0.qGq3z_ZUVmTaJvYdxflcvzG2jjmeFoGin4ByZDDcAVk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4285caac272809583048b0897c18e191","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:58600","level":"info","msg":"Received request.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:06Z"} authorization-1 | {"client_addr":"127.0.0.1:58608","level":"info","msg":"Received request.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:06Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F179e0b69-11f0-4136-893f-965c8af8b486","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9bc0edbd-1a0f-4cee-a40b-76e62ed88e7b","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443966.3587985} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.442182,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/179e0b69-11f0-4136-893f-965c8af8b486","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/179e0b69-11f0-4136-893f-965c8af8b486","object_type":"device","rebac_allow":false,"scope_allow":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":"d6356900-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:58608","level":"info","msg":"Sent response.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.705464,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2cd9fb6d-3681-4e90-811c-2c4113b661a7","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/2cd9fb6d-3681-4e90-811c-2c4113b661a7","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443966,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk2Nn0.qGq3z_ZUVmTaJvYdxflcvzG2jjmeFoGin4ByZDDcAVk"} 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":"4285caac272809583048b0897c18e191"},"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/179e0b69-11f0-4136-893f-965c8af8b486/signaling 200 16ms","method":"POST","requestID":"d6356900-3d2a-11ef-b23c-0125361f42d1","responseTime":16,"status":200,"url":"/devices/179e0b69-11f0-4136-893f-965c8af8b486/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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2cd9fb6d-3681-4e90-811c-2c4113b661a7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2cd9fb6d-3681-4e90-811c-2c4113b661a7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:05:57.564910406Z"}]},"request_id":"fd4c515b-9dc2-4b35-b686-29d7eeb6f910","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443966.3690808} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/761a90de-55d5-467d-a77c-2ecadbc1f904"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/761a90de-55d5-467d-a77c-2ecadbc1f904"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"a828e7a5-98a1-4263-a264-96486d3d093a"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"084feaec-d91a-4801-8a5e-0fee00996281"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"5f9b7438-07a4-40b7-9e6b-fd68e05db957"}]},"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/2cd9fb6d-3681-4e90-811c-2c4113b661a7"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/179e0b69-11f0-4136-893f-965c8af8b486"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4285caac272809583048b0897c18e191"},"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":"08/Jul/2024:13:06:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2cd9fb6d-3681-4e90-811c-2c4113b661a7? 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":"4285caac272809583048b0897c18e191"} device-1 | {"level":"info","message":"GET /devices/2cd9fb6d-3681-4e90-811c-2c4113b661a7? 200 20ms","method":"GET","requestID":"4285caac272809583048b0897c18e191","responseTime":20,"status":200,"url":"/devices/2cd9fb6d-3681-4e90-811c-2c4113b661a7?"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk2Nn0.qGq3z_ZUVmTaJvYdxflcvzG2jjmeFoGin4ByZDDcAVk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2c0ca3a7cc97f287b9d9c3ad46c6c86a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:06Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.62823,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443965,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk2NX0.O0oPb38f7Z2J26kOfcA9XbKGG93NPdFxcLttS9Hvcg0"} 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":"d6393990-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:58608","level":"info","msg":"Received request.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:06Z"} authorization-1 | {"client_addr":"127.0.0.1:58608","level":"info","msg":"Sent response.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.698999,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/179e0b69-11f0-4136-893f-965c8af8b486","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/179e0b69-11f0-4136-893f-965c8af8b486","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443966,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk2Nn0.qGq3z_ZUVmTaJvYdxflcvzG2jjmeFoGin4ByZDDcAVk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2c0ca3a7cc97f287b9d9c3ad46c6c86a"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F179e0b69-11f0-4136-893f-965c8af8b486","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F179e0b69-11f0-4136-893f-965c8af8b486","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:05:57.670845389Z"}]},"request_id":"8344a489-0746-4de1-9e01-ebe08f5ef91c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443966.390494} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2c0ca3a7cc97f287b9d9c3ad46c6c86a"},"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":"08/Jul/2024:13:06:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/179e0b69-11f0-4136-893f-965c8af8b486? 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":"2c0ca3a7cc97f287b9d9c3ad46c6c86a"} device-1 | {"level":"info","message":"GET /devices/179e0b69-11f0-4136-893f-965c8af8b486? 200 14ms","method":"GET","requestID":"2c0ca3a7cc97f287b9d9c3ad46c6c86a","responseTime":14,"status":200,"url":"/devices/179e0b69-11f0-4136-893f-965c8af8b486?"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","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%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"389eff34-00aa-4329-b21e-4ab48e39443d","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443966.4076838} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7b1cf04c-36d8-45ad-a866-28f4b0e832bc","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443966.4079697} 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":"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":"d6393990-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} 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/fa24e702-1089-4388-958c-14fe30ca5578'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/fa24e702-1089-4388-958c-14fe30ca5578'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 51ms","method":"POST","requestID":"d6393990-3d2a-11ef-b23c-0125361f42d1","responseTime":51,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/761a90de-55d5-467d-a77c-2ecadbc1f904"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:06Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2cd9fb6d-3681-4e90-811c-2c4113b661a7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5bff7b24-fbac-4cb0-bdc4-1a1748d49333","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443966.4730217} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.920321,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2cd9fb6d-3681-4e90-811c-2c4113b661a7","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2cd9fb6d-3681-4e90-811c-2c4113b661a7","object_type":"device","rebac_allow":false,"scope_allow":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":"d646f530-3d2a-11ef-b23c-0125361f42d1"},"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/2cd9fb6d-3681-4e90-811c-2c4113b661a7/signaling 200 10ms","method":"POST","requestID":"d646f530-3d2a-11ef-b23c-0125361f42d1","responseTime":10,"status":200,"url":"/devices/2cd9fb6d-3681-4e90-811c-2c4113b661a7/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:06Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F179e0b69-11f0-4136-893f-965c8af8b486","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"788f57a3-7481-4703-8f0a-df41d7b17ab7","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443966.487595} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.640137,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/179e0b69-11f0-4136-893f-965c8af8b486","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/179e0b69-11f0-4136-893f-965c8af8b486","object_type":"device","rebac_allow":false,"scope_allow":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":"d6491810-3d2a-11ef-b23c-0125361f42d1"},"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/179e0b69-11f0-4136-893f-965c8af8b486/signaling 200 15ms","method":"POST","requestID":"d6491810-3d2a-11ef-b23c-0125361f42d1","responseTime":15,"status":200,"url":"/devices/179e0b69-11f0-4136-893f-965c8af8b486/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/2cd9fb6d-3681-4e90-811c-2c4113b661a7'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/179e0b69-11f0-4136-893f-965c8af8b486'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/fa24e702-1089-4388-958c-14fe30ca5578' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"fa24e702-1089-4388-958c-14fe30ca5578","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":"2c5940e41f2add4962feec7d3f3ada55","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/2cd9fb6d-3681-4e90-811c-2c4113b661a7"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/179e0b69-11f0-4136-893f-965c8af8b486"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/fa24e702-1089-4388-958c-14fe30ca5578"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"fa24e702-1089-4388-958c-14fe30ca5578","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 13ms","method":"POST","requestID":"2c5940e41f2add4962feec7d3f3ada55","responseTime":13,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:06: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.017","http_referrer":"","http_user_agent":"node-fetch","requestID":"2c5940e41f2add4962feec7d3f3ada55"} device-1 | {"data":{"peerconnection":"fa24e702-1089-4388-958c-14fe30ca5578","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/fa24e702-1089-4388-958c-14fe30ca5578' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"fa24e702-1089-4388-958c-14fe30ca5578","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":"24159dad43cb5a09937d5a4f1e602ce1","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/2cd9fb6d-3681-4e90-811c-2c4113b661a7"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/179e0b69-11f0-4136-893f-965c8af8b486"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/fa24e702-1089-4388-958c-14fe30ca5578"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:06Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ffa24e702-1089-4388-958c-14fe30ca5578","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d5e84e2d-fcec-486b-9466-ec76b1e74af5","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443966.6048245} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.774939,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/fa24e702-1089-4388-958c-14fe30ca5578","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/fa24e702-1089-4388-958c-14fe30ca5578","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":"d65af260-3d2a-11ef-b23c-0125361f42d1"},"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/fa24e702-1089-4388-958c-14fe30ca5578 200 11ms","method":"GET","requestID":"d65af260-3d2a-11ef-b23c-0125361f42d1","responseTime":11,"status":200,"url":"/peerconnections/fa24e702-1089-4388-958c-14fe30ca5578"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 36ms","method":"POST","requestID":"24159dad43cb5a09937d5a4f1e602ce1","responseTime":36,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:06: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.040","http_referrer":"","http_user_agent":"node-fetch","requestID":"24159dad43cb5a09937d5a4f1e602ce1"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:06Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2cd9fb6d-3681-4e90-811c-2c4113b661a7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e5968d72-d51d-44e0-8ff3-aecde5b9d6ad","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443966.634601} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.279459,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2cd9fb6d-3681-4e90-811c-2c4113b661a7","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2cd9fb6d-3681-4e90-811c-2c4113b661a7","object_type":"device","rebac_allow":false,"scope_allow":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":"d65fad50-3d2a-11ef-b23c-0125361f42d1"},"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/2cd9fb6d-3681-4e90-811c-2c4113b661a7/signaling 200 10ms","method":"POST","requestID":"d65fad50-3d2a-11ef-b23c-0125361f42d1","responseTime":10,"status":200,"url":"/devices/2cd9fb6d-3681-4e90-811c-2c4113b661a7/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk2Nn0.qGq3z_ZUVmTaJvYdxflcvzG2jjmeFoGin4ByZDDcAVk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"54b4980c9fb27555b1b52de75d1fa725","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/761a90de-55d5-467d-a77c-2ecadbc1f904"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:06Z"} authorization-1 | {"client_addr":"127.0.0.1:58608","level":"info","msg":"Received request.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:06Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F179e0b69-11f0-4136-893f-965c8af8b486","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9ef8cad1-b2e4-4475-a583-2eed81921172","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443966.6476765} authorization-1 | {"client_addr":"127.0.0.1:58608","level":"info","msg":"Sent response.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.712694,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/761a90de-55d5-467d-a77c-2ecadbc1f904","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/761a90de-55d5-467d-a77c-2ecadbc1f904","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443966,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk2Nn0.qGq3z_ZUVmTaJvYdxflcvzG2jjmeFoGin4ByZDDcAVk"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"54b4980c9fb27555b1b52de75d1fa725"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.15779,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/179e0b69-11f0-4136-893f-965c8af8b486","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/179e0b69-11f0-4136-893f-965c8af8b486","object_type":"device","rebac_allow":false,"scope_allow":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":"d661d030-3d2a-11ef-b23c-0125361f42d1"},"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/179e0b69-11f0-4136-893f-965c8af8b486/signaling 200 11ms","method":"POST","requestID":"d661d030-3d2a-11ef-b23c-0125361f42d1","responseTime":11,"status":200,"url":"/devices/179e0b69-11f0-4136-893f-965c8af8b486/signaling"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/761a90de-55d5-467d-a77c-2ecadbc1f904"} gateway-1 | {"time_local":"08/Jul/2024:13:06:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/761a90de-55d5-467d-a77c-2ecadbc1f904 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":"54b4980c9fb27555b1b52de75d1fa725"} experiment-1 | {"level":"info","message":"GET /experiments/761a90de-55d5-467d-a77c-2ecadbc1f904 200 16ms","method":"GET","requestID":"54b4980c9fb27555b1b52de75d1fa725","responseTime":16,"status":200,"url":"/experiments/761a90de-55d5-467d-a77c-2ecadbc1f904"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk2Nn0.qGq3z_ZUVmTaJvYdxflcvzG2jjmeFoGin4ByZDDcAVk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f0fad1617f27969378f411792ccb6c7b","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/761a90de-55d5-467d-a77c-2ecadbc1f904"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:06Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.867767,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:06Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/761a90de-55d5-467d-a77c-2ecadbc1f904","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/761a90de-55d5-467d-a77c-2ecadbc1f904","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443966,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk2Nn0.qGq3z_ZUVmTaJvYdxflcvzG2jjmeFoGin4ByZDDcAVk"} 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":"f0fad1617f27969378f411792ccb6c7b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/761a90de-55d5-467d-a77c-2ecadbc1f904"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:06Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.73441,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:06Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/fa24e702-1089-4388-958c-14fe30ca5578","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:http://localhost/peerconnections/fa24e702-1089-4388-958c-14fe30ca5578","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443966,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk2Nn0.qGq3z_ZUVmTaJvYdxflcvzG2jjmeFoGin4ByZDDcAVk"} 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":"d667c3a0-3d2a-11ef-b23c-0125361f42d1"},"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/fa24e702-1089-4388-958c-14fe30ca5578' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/fa24e702-1089-4388-958c-14fe30ca5578' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"fa24e702-1089-4388-958c-14fe30ca5578","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":"b108b4a83d83370dc9bac5e8fd6dbdf9","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/2cd9fb6d-3681-4e90-811c-2c4113b661a7"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/179e0b69-11f0-4136-893f-965c8af8b486"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/fa24e702-1089-4388-958c-14fe30ca5578"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"34b82cb5eb43e43a518cd7d8f34585d9","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/2cd9fb6d-3681-4e90-811c-2c4113b661a7"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/179e0b69-11f0-4136-893f-965c8af8b486"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/fa24e702-1089-4388-958c-14fe30ca5578"}}},"level":"info","message":"received a callback"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ffa24e702-1089-4388-958c-14fe30ca5578': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ffa24e702-1089-4388-958c-14fe30ca5578","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"aec6980a-d42b-466d-abe5-339c1e170009","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443966.71014} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"090a7764-7e21-4341-9c39-0b2f5345110c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443966.7103066} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d667c3a0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} device-1 | {"data":{"peerconnection":"fa24e702-1089-4388-958c-14fe30ca5578","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/fa24e702-1089-4388-958c-14fe30ca5578 204 49ms","method":"DELETE","requestID":"d667c3a0-3d2a-11ef-b23c-0125361f42d1","responseTime":49,"status":204,"url":"/peerconnections/fa24e702-1089-4388-958c-14fe30ca5578"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/761a90de-55d5-467d-a77c-2ecadbc1f904"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:06Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2cd9fb6d-3681-4e90-811c-2c4113b661a7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9f21f443-7200-4903-b7fb-30b54aae9d89","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443966.7678275} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.141903,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2cd9fb6d-3681-4e90-811c-2c4113b661a7","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2cd9fb6d-3681-4e90-811c-2c4113b661a7","object_type":"device","rebac_allow":false,"scope_allow":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":"d673d190-3d2a-11ef-b23c-0125361f42d1"},"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/2cd9fb6d-3681-4e90-811c-2c4113b661a7/signaling 200 13ms","method":"POST","requestID":"d673d190-3d2a-11ef-b23c-0125361f42d1","responseTime":13,"status":200,"url":"/devices/2cd9fb6d-3681-4e90-811c-2c4113b661a7/signaling"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F761a90de-55d5-467d-a77c-2ecadbc1f904': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F761a90de-55d5-467d-a77c-2ecadbc1f904","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"95404029-5a6a-4bc3-bb69-edd837729702","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443966.7762582} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"89781f9d-5148-4e91-90cf-265015694249","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443966.7766538} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f0fad1617f27969378f411792ccb6c7b"},"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:58600","level":"info","msg":"Received request.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:06Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F179e0b69-11f0-4136-893f-965c8af8b486","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"64533b26-2622-4580-93b4-fbf212c38047","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443966.7825506} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.91102,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/179e0b69-11f0-4136-893f-965c8af8b486","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/179e0b69-11f0-4136-893f-965c8af8b486","object_type":"device","rebac_allow":false,"scope_allow":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":"d6764290-3d2a-11ef-b23c-0125361f42d1"},"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/179e0b69-11f0-4136-893f-965c8af8b486/signaling 200 12ms","method":"POST","requestID":"d6764290-3d2a-11ef-b23c-0125361f42d1","responseTime":12,"status":200,"url":"/devices/179e0b69-11f0-4136-893f-965c8af8b486/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/761a90de-55d5-467d-a77c-2ecadbc1f904"} gateway-1 | {"time_local":"08/Jul/2024:13:06:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/761a90de-55d5-467d-a77c-2ecadbc1f904 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.197","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f0fad1617f27969378f411792ccb6c7b"} experiment-1 | {"level":"info","message":"DELETE /experiments/761a90de-55d5-467d-a77c-2ecadbc1f904 204 194ms","method":"DELETE","requestID":"f0fad1617f27969378f411792ccb6c7b","responseTime":194,"status":204,"url":"/experiments/761a90de-55d5-467d-a77c-2ecadbc1f904"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 162ms","method":"POST","requestID":"b108b4a83d83370dc9bac5e8fd6dbdf9","responseTime":162,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:06: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.166","http_referrer":"","http_user_agent":"node-fetch","requestID":"b108b4a83d83370dc9bac5e8fd6dbdf9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 162ms","method":"POST","requestID":"34b82cb5eb43e43a518cd7d8f34585d9","responseTime":162,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:06: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.167","http_referrer":"","http_user_agent":"node-fetch","requestID":"34b82cb5eb43e43a518cd7d8f34585d9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk2Nn0.qGq3z_ZUVmTaJvYdxflcvzG2jjmeFoGin4ByZDDcAVk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"476e7f0e10c36c9c1e00562fdb06ade5","responseTime":6,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:06:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2646","request_time":"1.086","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a273dbb22c36c2c9335a723bc3fd20f8"} gateway-1 | {"time_local":"08/Jul/2024:13:06:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2646","request_time":"1.127","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5a1a99d087b67b6c76b37e52e75e1fd9"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:06Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.925609,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443966,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk2Nn0.qGq3z_ZUVmTaJvYdxflcvzG2jjmeFoGin4ByZDDcAVk"} 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":"476e7f0e10c36c9c1e00562fdb06ade5"},"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/2cd9fb6d-3681-4e90-811c-2c4113b661a7' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/179e0b69-11f0-4136-893f-965c8af8b486' 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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c56cce29-79fe-40bc-a620-c4d1532c5728","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443966.8978162} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"476e7f0e10c36c9c1e00562fdb06ade5"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0ded2115-394a-4851-9741-4d1406137a8b","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443966.9034443} 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":"476e7f0e10c36c9c1e00562fdb06ade5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"304f377e-313d-4d91-85a0-df1bb6087f2b","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443966.9156291} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7395e296-af53-4bdb-a246-1e92e49e53a4","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443966.915822} 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":"476e7f0e10c36c9c1e00562fdb06ade5"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:06.915617587Z"}]},"request_id":"fa072181-7102-42cb-9212-32b5da71e397","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443966.9199529} 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":"476e7f0e10c36c9c1e00562fdb06ade5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"476e7f0e10c36c9c1e00562fdb06ade5"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"476e7f0e10c36c9c1e00562fdb06ade5","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk2Nn0.qGq3z_ZUVmTaJvYdxflcvzG2jjmeFoGin4ByZDDcAVk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3425bd4ab9929f76f554e28e46a9dc13","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:06Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.667625,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443966,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk2Nn0.qGq3z_ZUVmTaJvYdxflcvzG2jjmeFoGin4ByZDDcAVk"} 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":"3425bd4ab9929f76f554e28e46a9dc13"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2dd23f5a-2f5b-46f0-be21-c11f828cfdb2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"752f47d4-3f38-4a24-9943-598049f7c878","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443966.9452152} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3425bd4ab9929f76f554e28e46a9dc13"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cd64448c-b9fe-4c21-be9d-6f558eed7476","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443966.9499965} 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":"3425bd4ab9929f76f554e28e46a9dc13"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2dd23f5a-2f5b-46f0-be21-c11f828cfdb2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"a7861801-7248-4e9e-8954-912079536249","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443966.9598374} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2d01862e-22af-4f50-9a6c-e6701dda9400","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443966.960043} 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":"3425bd4ab9929f76f554e28e46a9dc13"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2dd23f5a-2f5b-46f0-be21-c11f828cfdb2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2dd23f5a-2f5b-46f0-be21-c11f828cfdb2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:06.959825777Z"}]},"request_id":"49fb6dc6-fa18-448b-958f-76ba317faff3","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443966.9647195} 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":"3425bd4ab9929f76f554e28e46a9dc13"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3425bd4ab9929f76f554e28e46a9dc13"} device-1 | {"level":"info","message":"POST /devices? 201 39ms","method":"POST","requestID":"3425bd4ab9929f76f554e28e46a9dc13","responseTime":39,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk2N30.-vQ5OQMV8FnAGiaSyRhV1bFuYbGt1hr0OpbRUULgHpk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"058e6a72ba86dccf08478ece8fbea860","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:07Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.27129,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:07Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443967,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk2N30.-vQ5OQMV8FnAGiaSyRhV1bFuYbGt1hr0OpbRUULgHpk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"058e6a72ba86dccf08478ece8fbea860"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2dd23f5a-2f5b-46f0-be21-c11f828cfdb2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2dd23f5a-2f5b-46f0-be21-c11f828cfdb2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:06.959825777Z"}]},"request_id":"5e35a213-50b1-4165-9f3d-5e03c1cab051","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443967.584636} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"058e6a72ba86dccf08478ece8fbea860"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9c36cd65-2991-4e23-9d74-7cf8eb5f6ed7","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443967.5950506} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"058e6a72ba86dccf08478ece8fbea860"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2dd23f5a-2f5b-46f0-be21-c11f828cfdb2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2dd23f5a-2f5b-46f0-be21-c11f828cfdb2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:06.959825777Z"}]},"request_id":"fe33fffb-6180-47ba-8e20-4e8d82c00af3","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443967.6200812} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"058e6a72ba86dccf08478ece8fbea860"},"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":"08/Jul/2024:13:06:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.084","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"058e6a72ba86dccf08478ece8fbea860"} device-1 | {"level":"info","message":"PATCH /devices/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2 200 75ms","method":"PATCH","requestID":"058e6a72ba86dccf08478ece8fbea860","responseTime":75,"status":200,"url":"/devices/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk2N30.-vQ5OQMV8FnAGiaSyRhV1bFuYbGt1hr0OpbRUULgHpk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"52322756f0e58ac3407e3c5cacf7e0e9","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:07Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.53652,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:07Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443967,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk2N30.-vQ5OQMV8FnAGiaSyRhV1bFuYbGt1hr0OpbRUULgHpk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"52322756f0e58ac3407e3c5cacf7e0e9"},"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":"08/Jul/2024:13:06:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.032","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"52322756f0e58ac3407e3c5cacf7e0e9"} device-1 | {"level":"info","message":"POST /devices/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2/websocket 200 24ms","method":"POST","requestID":"52322756f0e58ac3407e3c5cacf7e0e9","responseTime":24,"status":200,"url":"/devices/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2' 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":"1c28cc7c9e65d8ee84403e2ba250f326","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:06:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7/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":"1c28cc7c9e65d8ee84403e2ba250f326"} device-1 | {"level":"info","message":"OPTIONS /devices/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7/websocket 200 1ms","method":"OPTIONS","requestID":"1c28cc7c9e65d8ee84403e2ba250f326","responseTime":1,"status":200,"url":"/devices/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk2OH0.EAfINeA2Xan50rJOtQR0uIgqPuzaVNLJkUMtIDbyAAQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"be2c1ebbdf7dd3d7cd1bd1993a2022ec","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:08Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.35932,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:08Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443968,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk2OH0.EAfINeA2Xan50rJOtQR0uIgqPuzaVNLJkUMtIDbyAAQ"} 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":"be2c1ebbdf7dd3d7cd1bd1993a2022ec"},"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":"08/Jul/2024:13:06:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.038","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"be2c1ebbdf7dd3d7cd1bd1993a2022ec"} device-1 | {"level":"info","message":"POST /devices/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7/websocket 200 30ms","method":"POST","requestID":"be2c1ebbdf7dd3d7cd1bd1993a2022ec","responseTime":30,"status":200,"url":"/devices/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk2OX0.Zczxk436KVw2f7HWRX4FGUpIAjf-m2MwFU4lU24uKpQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"fc51590ff70872ebf74f62aade0fb6b5","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:09Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.300484,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443969,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk2OX0.Zczxk436KVw2f7HWRX4FGUpIAjf-m2MwFU4lU24uKpQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fc51590ff70872ebf74f62aade0fb6b5"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:06.915617587Z"}]},"request_id":"04eace4c-56c7-4f6c-956c-5c3bde0161cb","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443969.0709143} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fc51590ff70872ebf74f62aade0fb6b5"},"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":"08/Jul/2024:13:06:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7? 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":"fc51590ff70872ebf74f62aade0fb6b5"} device-1 | {"level":"info","message":"GET /devices/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7? 200 21ms","method":"GET","requestID":"fc51590ff70872ebf74f62aade0fb6b5","responseTime":21,"status":200,"url":"/devices/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk2OX0.Zczxk436KVw2f7HWRX4FGUpIAjf-m2MwFU4lU24uKpQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"121873a2f3e9735b5064a00c7f3895f6","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:09Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.704379,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443969,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk2OX0.Zczxk436KVw2f7HWRX4FGUpIAjf-m2MwFU4lU24uKpQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"121873a2f3e9735b5064a00c7f3895f6"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2dd23f5a-2f5b-46f0-be21-c11f828cfdb2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2dd23f5a-2f5b-46f0-be21-c11f828cfdb2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:06.959825777Z"}]},"request_id":"a0c160d2-ed88-4a0f-b70c-acf067931006","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443969.1027172} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"121873a2f3e9735b5064a00c7f3895f6"},"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":"08/Jul/2024:13:06:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"121873a2f3e9735b5064a00c7f3895f6"} device-1 | {"level":"info","message":"GET /devices/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2? 200 21ms","method":"GET","requestID":"121873a2f3e9735b5064a00c7f3895f6","responseTime":21,"status":200,"url":"/devices/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk2OX0.Zczxk436KVw2f7HWRX4FGUpIAjf-m2MwFU4lU24uKpQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c0cb3eec604a69fd5182f156ea994f85","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:58600","level":"info","msg":"Received request.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:09Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.336183,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443969,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk2OX0.Zczxk436KVw2f7HWRX4FGUpIAjf-m2MwFU4lU24uKpQ"} 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":"c0cb3eec604a69fd5182f156ea994f85"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/281a1f33-284b-49d6-b605-286b3e3b0f71"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/281a1f33-284b-49d6-b605-286b3e3b0f71"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/281a1f33-284b-49d6-b605-286b3e3b0f71"},"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:58600","level":"info","msg":"Received request.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:09Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.306962,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:09Z"} authorization-1 | {"client_addr":"127.0.0.1:58608","level":"info","msg":"Received request.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443969,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk2OX0.Zczxk436KVw2f7HWRX4FGUpIAjf-m2MwFU4lU24uKpQ"} 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":"d7e4c6b0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:58608","level":"info","msg":"Sent response.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.899887,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443969,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk2OX0.Zczxk436KVw2f7HWRX4FGUpIAjf-m2MwFU4lU24uKpQ"} 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":"d7e514d0-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:06.915617587Z"}]},"request_id":"ecde3bd5-579c-400e-8a20-dfe4c05aaeea","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443969.1968966} 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":"d7e4c6b0-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2dd23f5a-2f5b-46f0-be21-c11f828cfdb2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2dd23f5a-2f5b-46f0-be21-c11f828cfdb2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:06.959825777Z"}]},"request_id":"0960bf65-644e-43fd-a2d3-ba4ca68a6894","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443969.199091} 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":"d7e514d0-3d2a-11ef-b23c-0125361f42d1"},"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/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7? 200 31ms","method":"GET","requestID":"d7e4c6b0-3d2a-11ef-b23c-0125361f42d1","responseTime":31,"status":200,"url":"/devices/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2? 200 31ms","method":"GET","requestID":"d7e514d0-3d2a-11ef-b23c-0125361f42d1","responseTime":31,"status":200,"url":"/devices/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/281a1f33-284b-49d6-b605-286b3e3b0f71"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/281a1f33-284b-49d6-b605-286b3e3b0f71"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/281a1f33-284b-49d6-b605-286b3e3b0f71"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/281a1f33-284b-49d6-b605-286b3e3b0f71"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/281a1f33-284b-49d6-b605-286b3e3b0f71"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/281a1f33-284b-49d6-b605-286b3e3b0f71"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/281a1f33-284b-49d6-b605-286b3e3b0f71"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/281a1f33-284b-49d6-b605-286b3e3b0f71"},"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/281a1f33-284b-49d6-b605-286b3e3b0f71"},"level":"info","message":"Successfully running experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:09Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.285487,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:09Z"} authorization-1 | {"client_addr":"127.0.0.1:58608","level":"info","msg":"Received request.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443969,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk2OX0.Zczxk436KVw2f7HWRX4FGUpIAjf-m2MwFU4lU24uKpQ"} 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":"d7f408f0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:58608","level":"info","msg":"Sent response.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.362976,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443969,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk2OX0.Zczxk436KVw2f7HWRX4FGUpIAjf-m2MwFU4lU24uKpQ"} 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":"d7f47e20-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:09Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.746559,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06: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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:06.915617587Z"}]},"request_id":"160e0a21-1007-4f20-9546-b980cbe1c371","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443969.3040538} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"65e704bb-8c0a-4c3d-860f-5fa3e52c0e88","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443969.3042622} 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":"d7f408f0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7","object_type":"device","rebac_allow":false,"scope_allow":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":"d7f54170-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2dd23f5a-2f5b-46f0-be21-c11f828cfdb2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2dd23f5a-2f5b-46f0-be21-c11f828cfdb2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:06.959825777Z"}]},"request_id":"7b9f1d63-6278-4bba-9d36-5b801b066631","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443969.307961} 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":"d7f47e20-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":11}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F281a1f33-284b-49d6-b605-286b3e3b0f71#owner@http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F281a1f33-284b-49d6-b605-286b3e3b0f71","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"2b38f6c4-2abe-4a64-8601-e57da4641b72","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443969.3225527} device-1 | {"level":"info","message":"GET /devices/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7? 200 44ms","method":"GET","requestID":"d7f408f0-3d2a-11ef-b23c-0125361f42d1","responseTime":44,"status":200,"url":"/devices/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"38b8bc15-7eec-4984-bc66-6b24d39da0b4","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443969.3227565} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7/signaling 200 37ms","method":"POST","requestID":"d7f54170-3d2a-11ef-b23c-0125361f42d1","responseTime":37,"status":200,"url":"/devices/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7/signaling"} 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":"c0cb3eec604a69fd5182f156ea994f85"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":34}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2? 200 52ms","method":"GET","requestID":"d7f47e20-3d2a-11ef-b23c-0125361f42d1","responseTime":52,"status":200,"url":"/devices/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2?"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:09Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2dd23f5a-2f5b-46f0-be21-c11f828cfdb2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9f127aae-c3fc-4706-838d-885a28ae69c6","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443969.3380651} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.907376,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:09Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2","object_type":"device","rebac_allow":false,"scope_allow":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":"d7fbaa10-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:09Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/281a1f33-284b-49d6-b605-286b3e3b0f71","user":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2/signaling 200 18ms","method":"POST","requestID":"d7fbaa10-3d2a-11ef-b23c-0125361f42d1","responseTime":18,"status":200,"url":"/devices/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2/signaling"} gateway-1 | {"time_local":"08/Jul/2024:13:06: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.233","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c0cb3eec604a69fd5182f156ea994f85"} experiment-1 | {"level":"info","message":"POST /experiments? 201 226ms","method":"POST","requestID":"c0cb3eec604a69fd5182f156ea994f85","responseTime":226,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1a4e24b7-e51a-4306-a200-49f4112c8ef8","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443969.3480558} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.314851,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7","object_type":"device","rebac_allow":false,"scope_allow":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":"d7fd30b0-3d2a-11ef-b23c-0125361f42d1"},"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/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7/signaling 200 17ms","method":"POST","requestID":"d7fd30b0-3d2a-11ef-b23c-0125361f42d1","responseTime":17,"status":200,"url":"/devices/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk2OX0.Zczxk436KVw2f7HWRX4FGUpIAjf-m2MwFU4lU24uKpQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"dbd7662761e89a3a98a88e63200ef2dc","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:09Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.178087,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443969,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk2OX0.Zczxk436KVw2f7HWRX4FGUpIAjf-m2MwFU4lU24uKpQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dbd7662761e89a3a98a88e63200ef2dc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:58608","level":"info","msg":"Received request.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:09Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2dd23f5a-2f5b-46f0-be21-c11f828cfdb2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1a39cf24-0dc1-498c-a7e7-c97fccbcc8b7","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443969.3671818} authorization-1 | {"client_addr":"127.0.0.1:58608","level":"info","msg":"Sent response.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.545752,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2","object_type":"device","rebac_allow":false,"scope_allow":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":"d8006500-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:06.915617587Z"}]},"request_id":"37bd2a03-fcd7-4aec-97fa-fbb7c36b95a9","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443969.369519} 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":"dbd7662761e89a3a98a88e63200ef2dc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2/signaling 200 16ms","method":"POST","requestID":"d8006500-3d2a-11ef-b23c-0125361f42d1","responseTime":16,"status":200,"url":"/devices/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7? 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":"dbd7662761e89a3a98a88e63200ef2dc"} device-1 | {"level":"info","message":"GET /devices/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7? 200 19ms","method":"GET","requestID":"dbd7662761e89a3a98a88e63200ef2dc","responseTime":19,"status":200,"url":"/devices/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/281a1f33-284b-49d6-b605-286b3e3b0f71"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/281a1f33-284b-49d6-b605-286b3e3b0f71"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"41d89767-cf5f-44aa-a760-2548f172b662"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"9cb81f8a-a8ea-4f35-baa3-b3496ac4377e"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"aca798e0-00a6-4790-8210-95a1027c0a71"}]},"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/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:09Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk2OX0.Zczxk436KVw2f7HWRX4FGUpIAjf-m2MwFU4lU24uKpQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"49a500c1a43583b82238d456530bf5d4","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.71231,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:09Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443969,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk2OX0.Zczxk436KVw2f7HWRX4FGUpIAjf-m2MwFU4lU24uKpQ"} 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":"d8037240-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:09Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.725403,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443969,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk2OX0.Zczxk436KVw2f7HWRX4FGUpIAjf-m2MwFU4lU24uKpQ"} 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":"49a500c1a43583b82238d456530bf5d4"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2dd23f5a-2f5b-46f0-be21-c11f828cfdb2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2dd23f5a-2f5b-46f0-be21-c11f828cfdb2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:06.959825777Z"}]},"request_id":"e345c372-5ed3-4e9c-9f1f-3125dee1cc96","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443969.392978} 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":"49a500c1a43583b82238d456530bf5d4"},"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":"08/Jul/2024:13:06:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"49a500c1a43583b82238d456530bf5d4"} device-1 | {"level":"info","message":"GET /devices/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2? 200 14ms","method":"GET","requestID":"49a500c1a43583b82238d456530bf5d4","responseTime":14,"status":200,"url":"/devices/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f1c41960-9047-4a66-afee-8a175feff6bb","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443969.3978186} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","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%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"7af2509d-4624-48bd-ae90-601b9dfb6273","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443969.3982065} 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":"d8037240-3d2a-11ef-b23c-0125361f42d1"},"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/a783aeae-e4ed-44c8-b8a1-49f5e79ed153'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/a783aeae-e4ed-44c8-b8a1-49f5e79ed153'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 34ms","method":"POST","requestID":"d8037240-3d2a-11ef-b23c-0125361f42d1","responseTime":34,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/281a1f33-284b-49d6-b605-286b3e3b0f71"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:09Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"46abac27-146c-45b6-a03b-cf4addeb36d2","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443969.450166} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.578014,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7","object_type":"device","rebac_allow":false,"scope_allow":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":"d80d3640-3d2a-11ef-b23c-0125361f42d1"},"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/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7/signaling 200 11ms","method":"POST","requestID":"d80d3640-3d2a-11ef-b23c-0125361f42d1","responseTime":11,"status":200,"url":"/devices/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:09Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2dd23f5a-2f5b-46f0-be21-c11f828cfdb2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"86b6fbb7-000e-49e9-a820-5ea1a4bee6ac","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443969.4615865} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.318205,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2","object_type":"device","rebac_allow":false,"scope_allow":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":"d80f3210-3d2a-11ef-b23c-0125361f42d1"},"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/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2/signaling 200 8ms","method":"POST","requestID":"d80f3210-3d2a-11ef-b23c-0125361f42d1","responseTime":8,"status":200,"url":"/devices/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2/signaling"} device-1 | {"data":{"peerconnection":"a783aeae-e4ed-44c8-b8a1-49f5e79ed153","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/a783aeae-e4ed-44c8-b8a1-49f5e79ed153' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a783aeae-e4ed-44c8-b8a1-49f5e79ed153","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7'"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5ce34afd633bebc693f741cc553ae34c","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/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/a783aeae-e4ed-44c8-b8a1-49f5e79ed153"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 10ms","method":"POST","requestID":"5ce34afd633bebc693f741cc553ae34c","responseTime":10,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:06:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch","requestID":"5ce34afd633bebc693f741cc553ae34c"} device-1 | {"data":{"peerconnection":"a783aeae-e4ed-44c8-b8a1-49f5e79ed153","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"a783aeae-e4ed-44c8-b8a1-49f5e79ed153","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/a783aeae-e4ed-44c8-b8a1-49f5e79ed153' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a783aeae-e4ed-44c8-b8a1-49f5e79ed153","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":"7a58e54dd1290534d0fcbb76feaa4d16","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/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/a783aeae-e4ed-44c8-b8a1-49f5e79ed153"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:11Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa783aeae-e4ed-44c8-b8a1-49f5e79ed153","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6c7b63c4-0f07-4d03-9b03-b7500d71460a","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443971.6127877} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.543792,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a783aeae-e4ed-44c8-b8a1-49f5e79ed153","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/a783aeae-e4ed-44c8-b8a1-49f5e79ed153","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":"d956cd40-3d2a-11ef-b23c-0125361f42d1"},"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/a783aeae-e4ed-44c8-b8a1-49f5e79ed153 200 15ms","method":"GET","requestID":"d956cd40-3d2a-11ef-b23c-0125361f42d1","responseTime":15,"status":200,"url":"/peerconnections/a783aeae-e4ed-44c8-b8a1-49f5e79ed153"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 51ms","method":"POST","requestID":"7a58e54dd1290534d0fcbb76feaa4d16","responseTime":51,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:06:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch","requestID":"7a58e54dd1290534d0fcbb76feaa4d16"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:11Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"873d848e-f4f3-450f-ab47-b3979673af54","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443971.657424} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.926073,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7","object_type":"device","rebac_allow":false,"scope_allow":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":"d95dab10-3d2a-11ef-b23c-0125361f42d1"},"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/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7/signaling 200 16ms","method":"POST","requestID":"d95dab10-3d2a-11ef-b23c-0125361f42d1","responseTime":16,"status":200,"url":"/devices/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:11Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2dd23f5a-2f5b-46f0-be21-c11f828cfdb2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7fac1fc9-868a-4a59-afd5-f8882e711873","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443971.676523} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.150943,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2","object_type":"device","rebac_allow":false,"scope_allow":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":"d960b850-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3MX0.ma9iAg5ebdulC5Y4FDG2xpdKcrlekjB8kDPCXbyLQYA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"9eb2892acab0bbdb70713a81c4349839","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/281a1f33-284b-49d6-b605-286b3e3b0f71"} device-1 | {"level":"info","message":"POST /devices/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2/signaling 200 19ms","method":"POST","requestID":"d960b850-3d2a-11ef-b23c-0125361f42d1","responseTime":19,"status":200,"url":"/devices/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2/signaling"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:11Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.235066,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/281a1f33-284b-49d6-b605-286b3e3b0f71","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/281a1f33-284b-49d6-b605-286b3e3b0f71","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443971,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3MX0.ma9iAg5ebdulC5Y4FDG2xpdKcrlekjB8kDPCXbyLQYA"} 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":"9eb2892acab0bbdb70713a81c4349839"},"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/281a1f33-284b-49d6-b605-286b3e3b0f71"} gateway-1 | {"time_local":"08/Jul/2024:13:06:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/281a1f33-284b-49d6-b605-286b3e3b0f71 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9eb2892acab0bbdb70713a81c4349839"} experiment-1 | {"level":"info","message":"GET /experiments/281a1f33-284b-49d6-b605-286b3e3b0f71 200 22ms","method":"GET","requestID":"9eb2892acab0bbdb70713a81c4349839","responseTime":22,"status":200,"url":"/experiments/281a1f33-284b-49d6-b605-286b3e3b0f71"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3MX0.ma9iAg5ebdulC5Y4FDG2xpdKcrlekjB8kDPCXbyLQYA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c16d64d349295aba6fb383251766f515","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/281a1f33-284b-49d6-b605-286b3e3b0f71"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:11Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.201791,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:11Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/281a1f33-284b-49d6-b605-286b3e3b0f71","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/281a1f33-284b-49d6-b605-286b3e3b0f71","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443971,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3MX0.ma9iAg5ebdulC5Y4FDG2xpdKcrlekjB8kDPCXbyLQYA"} 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":"c16d64d349295aba6fb383251766f515"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/281a1f33-284b-49d6-b605-286b3e3b0f71"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:11Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.72815,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:11Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a783aeae-e4ed-44c8-b8a1-49f5e79ed153","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:http://localhost/peerconnections/a783aeae-e4ed-44c8-b8a1-49f5e79ed153","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443971,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3MX0.ma9iAg5ebdulC5Y4FDG2xpdKcrlekjB8kDPCXbyLQYA"} 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":"d96b66b0-3d2a-11ef-b23c-0125361f42d1"},"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/a783aeae-e4ed-44c8-b8a1-49f5e79ed153' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/a783aeae-e4ed-44c8-b8a1-49f5e79ed153' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a783aeae-e4ed-44c8-b8a1-49f5e79ed153","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":"c2dac85fcdeb90eaa8c00667087fff82","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":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa783aeae-e4ed-44c8-b8a1-49f5e79ed153': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa783aeae-e4ed-44c8-b8a1-49f5e79ed153","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"84cff221-d946-4c86-a188-dd36aee7d057","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443971.7740092} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8b63ce77dcf018b798a878ebaf4f1962","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/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a783aeae-e4ed-44c8-b8a1-49f5e79ed153"}}},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"42d2de9f-5f5b-4a4c-b31b-342176b0d2d4","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443971.7746015} 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/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a783aeae-e4ed-44c8-b8a1-49f5e79ed153"}}},"level":"info","message":"received a callback"} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d96b66b0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} device-1 | {"data":{"peerconnection":"a783aeae-e4ed-44c8-b8a1-49f5e79ed153","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/a783aeae-e4ed-44c8-b8a1-49f5e79ed153 204 56ms","method":"DELETE","requestID":"d96b66b0-3d2a-11ef-b23c-0125361f42d1","responseTime":56,"status":204,"url":"/peerconnections/a783aeae-e4ed-44c8-b8a1-49f5e79ed153"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/281a1f33-284b-49d6-b605-286b3e3b0f71"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:11Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"878e8f5d-0638-4105-b044-17915b707b34","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443971.8283584} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.703824,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7","object_type":"device","rebac_allow":false,"scope_allow":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":"d97810e0-3d2a-11ef-b23c-0125361f42d1"},"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/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7/signaling 200 11ms","method":"POST","requestID":"d97810e0-3d2a-11ef-b23c-0125361f42d1","responseTime":11,"status":200,"url":"/devices/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7/signaling"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F281a1f33-284b-49d6-b605-286b3e3b0f71': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F281a1f33-284b-49d6-b605-286b3e3b0f71","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"a201ba2f-de38-4567-a1d5-1fc3f0d894c3","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443971.8379953} 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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e47cae1b-1d00-438b-a9e0-2fbbbaefaf39","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443971.838387} 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":"c16d64d349295aba6fb383251766f515"},"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:58600","level":"info","msg":"Received request.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:11Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2dd23f5a-2f5b-46f0-be21-c11f828cfdb2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6b3b4167-b982-40c5-9f20-068e9906adcf","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443971.8450043} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.136353,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2","object_type":"device","rebac_allow":false,"scope_allow":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":"d97a33c0-3d2a-11ef-b23c-0125361f42d1"},"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/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2/signaling 200 14ms","method":"POST","requestID":"d97a33c0-3d2a-11ef-b23c-0125361f42d1","responseTime":14,"status":200,"url":"/devices/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/281a1f33-284b-49d6-b605-286b3e3b0f71"} gateway-1 | {"time_local":"08/Jul/2024:13:06:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/281a1f33-284b-49d6-b605-286b3e3b0f71 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.196","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c16d64d349295aba6fb383251766f515"} experiment-1 | {"level":"info","message":"DELETE /experiments/281a1f33-284b-49d6-b605-286b3e3b0f71 204 189ms","method":"DELETE","requestID":"c16d64d349295aba6fb383251766f515","responseTime":189,"status":204,"url":"/experiments/281a1f33-284b-49d6-b605-286b3e3b0f71"} gateway-1 | {"time_local":"08/Jul/2024:13:06:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2598","request_time":"4.240","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"6c2e103817b27638c89c04fd45b2b52e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 136ms","method":"POST","requestID":"c2dac85fcdeb90eaa8c00667087fff82","responseTime":136,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:06:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.143","http_referrer":"","http_user_agent":"node-fetch","requestID":"c2dac85fcdeb90eaa8c00667087fff82"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 134ms","method":"POST","requestID":"8b63ce77dcf018b798a878ebaf4f1962","responseTime":134,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:06:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.143","http_referrer":"","http_user_agent":"node-fetch","requestID":"8b63ce77dcf018b798a878ebaf4f1962"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3MX0.ma9iAg5ebdulC5Y4FDG2xpdKcrlekjB8kDPCXbyLQYA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"aaf4088569f76501975b84c06d7ca00f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"08/Jul/2024:13:06:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2506","request_time":"2.889","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c236448a69a5e14f2811caab9e005125"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:11Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.074092,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:11Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443971,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3MX0.ma9iAg5ebdulC5Y4FDG2xpdKcrlekjB8kDPCXbyLQYA"} 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":"aaf4088569f76501975b84c06d7ca00f"},"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/2dd23f5a-2f5b-46f0-be21-c11f828cfdb2' 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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F158b358b-3f47-4433-9044-11d585794acd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"eeebd2d1-f413-4934-8a9f-66f2a11382b4","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443971.940758} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aaf4088569f76501975b84c06d7ca00f"},"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/8ce82eed-fb5d-4ee9-a108-9dcb8e00dca7' 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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ef947835-73b9-4915-8efc-fed6c2d6ce37","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443971.9469159} 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":"aaf4088569f76501975b84c06d7ca00f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F158b358b-3f47-4433-9044-11d585794acd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"307c05dc-bd09-4a28-b4cc-0ca3aa182273","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443971.9594882} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"95aa8fe6-024a-4622-aee9-261ad26bf9b8","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443971.9596486} 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":"aaf4088569f76501975b84c06d7ca00f"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F158b358b-3f47-4433-9044-11d585794acd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F158b358b-3f47-4433-9044-11d585794acd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:11.959475688Z"}]},"request_id":"e9ab85fb-76da-449c-8442-324659d56aee","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443971.9648583} 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":"aaf4088569f76501975b84c06d7ca00f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"aaf4088569f76501975b84c06d7ca00f"} device-1 | {"level":"info","message":"POST /devices? 201 53ms","method":"POST","requestID":"aaf4088569f76501975b84c06d7ca00f","responseTime":53,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3MX0.ma9iAg5ebdulC5Y4FDG2xpdKcrlekjB8kDPCXbyLQYA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"68d3b9c52403f30109cbe17f4ee8c56a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:11Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.720604,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:11Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443971,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3MX0.ma9iAg5ebdulC5Y4FDG2xpdKcrlekjB8kDPCXbyLQYA"} 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":"68d3b9c52403f30109cbe17f4ee8c56a"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbb3c0643-d6ac-4b6e-8066-1f3ccc85a098","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ca777108-f899-4dec-9b5f-f11c6caab769","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443971.9999077} 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":"68d3b9c52403f30109cbe17f4ee8c56a"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fa90fe9e-7eb0-42f8-889f-48cc4abbd444","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443972.005116} 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":"68d3b9c52403f30109cbe17f4ee8c56a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbb3c0643-d6ac-4b6e-8066-1f3ccc85a098","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"5684f4b4-2e8d-4cb6-a44d-3dae007f8897","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443972.0179873} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"04c29d75-0c45-4efb-96b3-4cf50a79855e","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443972.0182729} 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":"68d3b9c52403f30109cbe17f4ee8c56a"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbb3c0643-d6ac-4b6e-8066-1f3ccc85a098","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbb3c0643-d6ac-4b6e-8066-1f3ccc85a098","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:12.017972550Z"}]},"request_id":"8fb271ac-f98e-47c7-a5c2-8339042b3e25","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443972.0224862} 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":"68d3b9c52403f30109cbe17f4ee8c56a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"68d3b9c52403f30109cbe17f4ee8c56a"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"68d3b9c52403f30109cbe17f4ee8c56a","responseTime":48,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3Mn0.tkxDIhbT49VIHvXcKVvD2Kx0CrNeJ21HU3Yw4mM2h78","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1831907219c23f286bee4304f577fba4","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:12Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.667683,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:12Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/158b358b-3f47-4433-9044-11d585794acd","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/158b358b-3f47-4433-9044-11d585794acd","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443972,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3Mn0.tkxDIhbT49VIHvXcKVvD2Kx0CrNeJ21HU3Yw4mM2h78"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1831907219c23f286bee4304f577fba4"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F158b358b-3f47-4433-9044-11d585794acd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F158b358b-3f47-4433-9044-11d585794acd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:11.959475688Z"}]},"request_id":"cb7cc36f-86e0-43e3-a68c-05702bb6919b","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443972.5409644} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1831907219c23f286bee4304f577fba4"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"747005cf-d956-4897-b116-36c6f2eadaaa","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443972.548063} 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":"1831907219c23f286bee4304f577fba4"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F158b358b-3f47-4433-9044-11d585794acd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F158b358b-3f47-4433-9044-11d585794acd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:11.959475688Z"}]},"request_id":"3a08fb08-8b27-4a5b-8fbd-a4471b6d7075","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443972.561708} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1831907219c23f286bee4304f577fba4"},"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":"08/Jul/2024:13:06:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/158b358b-3f47-4433-9044-11d585794acd HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.041","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"1831907219c23f286bee4304f577fba4"} device-1 | {"level":"info","message":"PATCH /devices/158b358b-3f47-4433-9044-11d585794acd 200 36ms","method":"PATCH","requestID":"1831907219c23f286bee4304f577fba4","responseTime":36,"status":200,"url":"/devices/158b358b-3f47-4433-9044-11d585794acd"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3Mn0.tkxDIhbT49VIHvXcKVvD2Kx0CrNeJ21HU3Yw4mM2h78","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"b9f710fa5db4decc9c76e737482b859b","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:12Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.96637,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:12Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/158b358b-3f47-4433-9044-11d585794acd","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/158b358b-3f47-4433-9044-11d585794acd","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443972,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3Mn0.tkxDIhbT49VIHvXcKVvD2Kx0CrNeJ21HU3Yw4mM2h78"} 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":"b9f710fa5db4decc9c76e737482b859b"},"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":"08/Jul/2024:13:06:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/158b358b-3f47-4433-9044-11d585794acd/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.5","requestID":"b9f710fa5db4decc9c76e737482b859b"} device-1 | {"level":"info","message":"POST /devices/158b358b-3f47-4433-9044-11d585794acd/websocket 200 20ms","method":"POST","requestID":"b9f710fa5db4decc9c76e737482b859b","responseTime":20,"status":200,"url":"/devices/158b358b-3f47-4433-9044-11d585794acd/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/158b358b-3f47-4433-9044-11d585794acd' 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":"b5703acd3c32e1c7165228496d9d01cd","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:06:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098/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":"b5703acd3c32e1c7165228496d9d01cd"} device-1 | {"level":"info","message":"OPTIONS /devices/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098/websocket 200 1ms","method":"OPTIONS","requestID":"b5703acd3c32e1c7165228496d9d01cd","responseTime":1,"status":200,"url":"/devices/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3NH0.2hztbiexWS_6N02Hza7I6I3BocvgUlf0pWy7_29c5CA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"37b69f090247a5e66c0f7bf3a6698f27","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:14Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.187071,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:14Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443974,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3NH0.2hztbiexWS_6N02Hza7I6I3BocvgUlf0pWy7_29c5CA"} 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":"37b69f090247a5e66c0f7bf3a6698f27"},"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":"08/Jul/2024:13:06:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098/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":"37b69f090247a5e66c0f7bf3a6698f27"} device-1 | {"level":"info","message":"POST /devices/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098/websocket 200 28ms","method":"POST","requestID":"37b69f090247a5e66c0f7bf3a6698f27","responseTime":28,"status":200,"url":"/devices/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3NH0.2hztbiexWS_6N02Hza7I6I3BocvgUlf0pWy7_29c5CA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f50581834ea11ff725063cb551ce7752","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:14Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.289429,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/158b358b-3f47-4433-9044-11d585794acd","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/158b358b-3f47-4433-9044-11d585794acd","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443974,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3NH0.2hztbiexWS_6N02Hza7I6I3BocvgUlf0pWy7_29c5CA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f50581834ea11ff725063cb551ce7752"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F158b358b-3f47-4433-9044-11d585794acd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F158b358b-3f47-4433-9044-11d585794acd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:11.959475688Z"}]},"request_id":"489b7d1e-410f-41de-a249-91d451690e0c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443974.094384} 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":"f50581834ea11ff725063cb551ce7752"},"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":"08/Jul/2024:13:06:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/158b358b-3f47-4433-9044-11d585794acd? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.032","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f50581834ea11ff725063cb551ce7752"} device-1 | {"level":"info","message":"GET /devices/158b358b-3f47-4433-9044-11d585794acd? 200 24ms","method":"GET","requestID":"f50581834ea11ff725063cb551ce7752","responseTime":24,"status":200,"url":"/devices/158b358b-3f47-4433-9044-11d585794acd?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3NH0.2hztbiexWS_6N02Hza7I6I3BocvgUlf0pWy7_29c5CA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"2cf145fbaf584c4c3f4e994a76c91cfb","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:14Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.147595,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443974,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3NH0.2hztbiexWS_6N02Hza7I6I3BocvgUlf0pWy7_29c5CA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2cf145fbaf584c4c3f4e994a76c91cfb"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbb3c0643-d6ac-4b6e-8066-1f3ccc85a098","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbb3c0643-d6ac-4b6e-8066-1f3ccc85a098","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:12.017972550Z"}]},"request_id":"6bc52050-bab8-4cbc-9085-203c96bbf8b2","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443974.1268268} 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":"2cf145fbaf584c4c3f4e994a76c91cfb"},"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":"08/Jul/2024:13:06:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098? 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":"2cf145fbaf584c4c3f4e994a76c91cfb"} device-1 | {"level":"info","message":"GET /devices/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098? 200 21ms","method":"GET","requestID":"2cf145fbaf584c4c3f4e994a76c91cfb","responseTime":21,"status":200,"url":"/devices/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3NH0.2hztbiexWS_6N02Hza7I6I3BocvgUlf0pWy7_29c5CA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8c941da81d0036fcfdbc8338775a8962","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:58600","level":"info","msg":"Received request.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:14Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.360722,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:14Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443974,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3NH0.2hztbiexWS_6N02Hza7I6I3BocvgUlf0pWy7_29c5CA"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8c941da81d0036fcfdbc8338775a8962"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/294cb637-cd6e-4d5c-90c6-43811d512265"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/294cb637-cd6e-4d5c-90c6-43811d512265"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/294cb637-cd6e-4d5c-90c6-43811d512265"},"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:58600","level":"info","msg":"Received request.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:14Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.038603,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/158b358b-3f47-4433-9044-11d585794acd","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/158b358b-3f47-4433-9044-11d585794acd","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443974,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3NH0.2hztbiexWS_6N02Hza7I6I3BocvgUlf0pWy7_29c5CA"} 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":"dae2c470-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Received request.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:14Z"} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Sent response.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.843889,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443974,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3NH0.2hztbiexWS_6N02Hza7I6I3BocvgUlf0pWy7_29c5CA"} 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":"dae31290-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F158b358b-3f47-4433-9044-11d585794acd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F158b358b-3f47-4433-9044-11d585794acd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:11.959475688Z"}]},"request_id":"f2d6f7ea-90c9-4950-9006-5f9600005a5e","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443974.212623} 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":"dae2c470-3d2a-11ef-b23c-0125361f42d1"},"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/158b358b-3f47-4433-9044-11d585794acd? 200 21ms","method":"GET","requestID":"dae2c470-3d2a-11ef-b23c-0125361f42d1","responseTime":21,"status":200,"url":"/devices/158b358b-3f47-4433-9044-11d585794acd?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbb3c0643-d6ac-4b6e-8066-1f3ccc85a098","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbb3c0643-d6ac-4b6e-8066-1f3ccc85a098","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:12.017972550Z"}]},"request_id":"4ca45645-6c94-4b66-8553-d37154798e6c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443974.22023} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dae31290-3d2a-11ef-b23c-0125361f42d1"},"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/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098? 200 23ms","method":"GET","requestID":"dae31290-3d2a-11ef-b23c-0125361f42d1","responseTime":23,"status":200,"url":"/devices/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/294cb637-cd6e-4d5c-90c6-43811d512265"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/294cb637-cd6e-4d5c-90c6-43811d512265"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/294cb637-cd6e-4d5c-90c6-43811d512265"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/294cb637-cd6e-4d5c-90c6-43811d512265"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/294cb637-cd6e-4d5c-90c6-43811d512265"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/294cb637-cd6e-4d5c-90c6-43811d512265"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/294cb637-cd6e-4d5c-90c6-43811d512265"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/294cb637-cd6e-4d5c-90c6-43811d512265"},"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:58600","level":"info","msg":"Received request.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:14Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.193425,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:14Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/294cb637-cd6e-4d5c-90c6-43811d512265"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Received request.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/158b358b-3f47-4433-9044-11d585794acd","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/158b358b-3f47-4433-9044-11d585794acd","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443974,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3NH0.2hztbiexWS_6N02Hza7I6I3BocvgUlf0pWy7_29c5CA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"daed24b0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Sent response.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.90758,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443974,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3NH0.2hztbiexWS_6N02Hza7I6I3BocvgUlf0pWy7_29c5CA"} 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":"daed72d0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:14Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.513678,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:14Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F158b358b-3f47-4433-9044-11d585794acd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"97eaf26e-7836-4531-93e2-805630da1516","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443974.2802572} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/158b358b-3f47-4433-9044-11d585794acd","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/158b358b-3f47-4433-9044-11d585794acd","object_type":"device","rebac_allow":false,"scope_allow":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":"daedc0f0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbb3c0643-d6ac-4b6e-8066-1f3ccc85a098","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbb3c0643-d6ac-4b6e-8066-1f3ccc85a098","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:12.017972550Z"}]},"request_id":"f75cd78d-6fcd-41f5-a605-d41918bd5207","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443974.2867537} device-1 | {"level":"info","message":"POST /devices/158b358b-3f47-4433-9044-11d585794acd/signaling 200 21ms","method":"POST","requestID":"daedc0f0-3d2a-11ef-b23c-0125361f42d1","responseTime":21,"status":200,"url":"/devices/158b358b-3f47-4433-9044-11d585794acd/signaling"} 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":"daed72d0-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F158b358b-3f47-4433-9044-11d585794acd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F158b358b-3f47-4433-9044-11d585794acd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:11.959475688Z"}]},"request_id":"56ad8cd1-097e-457a-9fac-b2eb0e07ae06","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443974.2932715} 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":"daed24b0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F294cb637-cd6e-4d5c-90c6-43811d512265#owner@http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F294cb637-cd6e-4d5c-90c6-43811d512265","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"d6e730cd-7006-437f-b898-7bf2019daa31","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443974.3024626} device-1 | {"level":"info","message":"GET /devices/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098? 200 35ms","method":"GET","requestID":"daed72d0-3d2a-11ef-b23c-0125361f42d1","responseTime":35,"status":200,"url":"/devices/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"25a7be05-73c3-4386-b62f-4bd179ebfb95","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443974.3027654} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/158b358b-3f47-4433-9044-11d585794acd? 200 39ms","method":"GET","requestID":"daed24b0-3d2a-11ef-b23c-0125361f42d1","responseTime":39,"status":200,"url":"/devices/158b358b-3f47-4433-9044-11d585794acd?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8c941da81d0036fcfdbc8338775a8962"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":27}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbb3c0643-d6ac-4b6e-8066-1f3ccc85a098","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4d6fa829-0bae-414b-b2b7-9269ae400e0c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443974.3058603} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:14Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.538611,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"daf1dfa0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:14Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/294cb637-cd6e-4d5c-90c6-43811d512265","user":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"POST /devices/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098/signaling 200 17ms","method":"POST","requestID":"daf1dfa0-3d2a-11ef-b23c-0125361f42d1","responseTime":17,"status":200,"url":"/devices/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098/signaling"} gateway-1 | {"time_local":"08/Jul/2024:13:06:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.177","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8c941da81d0036fcfdbc8338775a8962"} experiment-1 | {"level":"info","message":"POST /experiments? 201 171ms","method":"POST","requestID":"8c941da81d0036fcfdbc8338775a8962","responseTime":171,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F158b358b-3f47-4433-9044-11d585794acd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4e757648-3e4a-4fb3-bf76-4497abfc06d3","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443974.318983} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.419249,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/158b358b-3f47-4433-9044-11d585794acd","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/158b358b-3f47-4433-9044-11d585794acd","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.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3NH0.2hztbiexWS_6N02Hza7I6I3BocvgUlf0pWy7_29c5CA","level":"info","message":"auth send jwt"} 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":"daf38d50-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8ad332a0d25bd6277c8ebe30cf6e2c64","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/158b358b-3f47-4433-9044-11d585794acd/signaling 200 17ms","method":"POST","requestID":"daf38d50-3d2a-11ef-b23c-0125361f42d1","responseTime":17,"status":200,"url":"/devices/158b358b-3f47-4433-9044-11d585794acd/signaling"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:14Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.110995,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/158b358b-3f47-4433-9044-11d585794acd","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/158b358b-3f47-4433-9044-11d585794acd","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443974,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3NH0.2hztbiexWS_6N02Hza7I6I3BocvgUlf0pWy7_29c5CA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8ad332a0d25bd6277c8ebe30cf6e2c64"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:14Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F158b358b-3f47-4433-9044-11d585794acd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F158b358b-3f47-4433-9044-11d585794acd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:11.959475688Z"}]},"request_id":"91f18089-0745-4114-acbe-b008e08753bb","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443974.334034} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbb3c0643-d6ac-4b6e-8066-1f3ccc85a098","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f1636e05-217b-4cf5-a500-e028569d7401","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443974.3341947} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8ad332a0d25bd6277c8ebe30cf6e2c64"},"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:58600","level":"info","msg":"Sent response.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.394328,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098","object_type":"device","rebac_allow":false,"scope_allow":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":"daf69a90-3d2a-11ef-b23c-0125361f42d1"},"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/158b358b-3f47-4433-9044-11d585794acd? 200 17ms","method":"GET","requestID":"8ad332a0d25bd6277c8ebe30cf6e2c64","responseTime":17,"status":200,"url":"/devices/158b358b-3f47-4433-9044-11d585794acd?"} gateway-1 | {"time_local":"08/Jul/2024:13:06:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/158b358b-3f47-4433-9044-11d585794acd? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8ad332a0d25bd6277c8ebe30cf6e2c64"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098/signaling 200 12ms","method":"POST","requestID":"daf69a90-3d2a-11ef-b23c-0125361f42d1","responseTime":12,"status":200,"url":"/devices/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/294cb637-cd6e-4d5c-90c6-43811d512265"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/294cb637-cd6e-4d5c-90c6-43811d512265"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"381ea435-0123-4d93-8d03-62cfbcb513c1"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"31815f9a-347a-4101-986c-8208343dd658"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"99a5c90e-4eb8-4094-a4c7-1d267b79e221"}]},"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/158b358b-3f47-4433-9044-11d585794acd"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3NH0.2hztbiexWS_6N02Hza7I6I3BocvgUlf0pWy7_29c5CA","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"259b15dffac98d7a5810055ae92b6708","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:14Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.029747,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:14Z"} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Received request.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:14Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443974,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3NH0.2hztbiexWS_6N02Hza7I6I3BocvgUlf0pWy7_29c5CA"} 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":"daf932a0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Sent response.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.658277,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443974,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3NH0.2hztbiexWS_6N02Hza7I6I3BocvgUlf0pWy7_29c5CA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"259b15dffac98d7a5810055ae92b6708"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbb3c0643-d6ac-4b6e-8066-1f3ccc85a098","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbb3c0643-d6ac-4b6e-8066-1f3ccc85a098","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:12.017972550Z"}]},"request_id":"ec0ec458-cdce-48cc-8a01-d26a98f8e77f","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443974.3585773} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"259b15dffac98d7a5810055ae92b6708"},"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":"08/Jul/2024:13:06:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"259b15dffac98d7a5810055ae92b6708"} device-1 | {"level":"info","message":"GET /devices/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098? 200 16ms","method":"GET","requestID":"259b15dffac98d7a5810055ae92b6708","responseTime":16,"status":200,"url":"/devices/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098?"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","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%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"aa220dea-0ccd-469b-a70d-987e19dc5654","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443974.365502} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6d2faa2a-fca5-4d0d-8f79-fc7127a1847a","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443974.3658245} 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":"daf932a0-3d2a-11ef-b23c-0125361f42d1"},"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/97e589f9-f605-4b03-b531-e04b175c1f48'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/97e589f9-f605-4b03-b531-e04b175c1f48'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 34ms","method":"POST","requestID":"daf932a0-3d2a-11ef-b23c-0125361f42d1","responseTime":34,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/294cb637-cd6e-4d5c-90c6-43811d512265"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:14Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F158b358b-3f47-4433-9044-11d585794acd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0dfe66ac-5e09-4932-aa70-3a08e20b4ba8","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443974.4222903} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.68366,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/158b358b-3f47-4433-9044-11d585794acd","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/158b358b-3f47-4433-9044-11d585794acd","object_type":"device","rebac_allow":false,"scope_allow":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":"db03e100-3d2a-11ef-b23c-0125361f42d1"},"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/158b358b-3f47-4433-9044-11d585794acd/signaling 200 12ms","method":"POST","requestID":"db03e100-3d2a-11ef-b23c-0125361f42d1","responseTime":12,"status":200,"url":"/devices/158b358b-3f47-4433-9044-11d585794acd/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:14Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbb3c0643-d6ac-4b6e-8066-1f3ccc85a098","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0c11d336-1ea1-4370-b9a1-f8e7d1483ae4","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443974.4360409} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.305859,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098","object_type":"device","rebac_allow":false,"scope_allow":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":"db062af0-3d2a-11ef-b23c-0125361f42d1"},"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/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098/signaling 200 11ms","method":"POST","requestID":"db062af0-3d2a-11ef-b23c-0125361f42d1","responseTime":11,"status":200,"url":"/devices/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098/signaling"} device-1 | {"data":{"peerconnection":"97e589f9-f605-4b03-b531-e04b175c1f48","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/97e589f9-f605-4b03-b531-e04b175c1f48' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"97e589f9-f605-4b03-b531-e04b175c1f48","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":"8b0c49557a7c2af53d2b61ca75a15908","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/158b358b-3f47-4433-9044-11d585794acd"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/97e589f9-f605-4b03-b531-e04b175c1f48"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"8b0c49557a7c2af53d2b61ca75a15908","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:06:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"8b0c49557a7c2af53d2b61ca75a15908"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098'"} device-1 | {"data":{"peerconnection":"97e589f9-f605-4b03-b531-e04b175c1f48","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"97e589f9-f605-4b03-b531-e04b175c1f48","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/97e589f9-f605-4b03-b531-e04b175c1f48' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"97e589f9-f605-4b03-b531-e04b175c1f48","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":"2f02e41a9c12ccd4ac28624495c3b766","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/158b358b-3f47-4433-9044-11d585794acd"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/97e589f9-f605-4b03-b531-e04b175c1f48"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:16Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F97e589f9-f605-4b03-b531-e04b175c1f48","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"337fe974-3c3c-4583-8127-953ca53fd627","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443976.539039} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.655649,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/97e589f9-f605-4b03-b531-e04b175c1f48","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/97e589f9-f605-4b03-b531-e04b175c1f48","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":"dc469a30-3d2a-11ef-b23c-0125361f42d1"},"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/97e589f9-f605-4b03-b531-e04b175c1f48 200 13ms","method":"GET","requestID":"dc469a30-3d2a-11ef-b23c-0125361f42d1","responseTime":13,"status":200,"url":"/peerconnections/97e589f9-f605-4b03-b531-e04b175c1f48"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 40ms","method":"POST","requestID":"2f02e41a9c12ccd4ac28624495c3b766","responseTime":40,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:06:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch","requestID":"2f02e41a9c12ccd4ac28624495c3b766"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:16Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F158b358b-3f47-4433-9044-11d585794acd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5dfc7e4f-c9c6-427c-aff9-424beac1d975","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443976.571685} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.837986,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/158b358b-3f47-4433-9044-11d585794acd","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/158b358b-3f47-4433-9044-11d585794acd","object_type":"device","rebac_allow":false,"scope_allow":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":"dc4bca50-3d2a-11ef-b23c-0125361f42d1"},"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/158b358b-3f47-4433-9044-11d585794acd/signaling 200 11ms","method":"POST","requestID":"dc4bca50-3d2a-11ef-b23c-0125361f42d1","responseTime":11,"status":200,"url":"/devices/158b358b-3f47-4433-9044-11d585794acd/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:16Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbb3c0643-d6ac-4b6e-8066-1f3ccc85a098","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aa9562dc-3e93-4b65-9cb3-0d2d65dd777c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443976.5833852} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.52271,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098","object_type":"device","rebac_allow":false,"scope_allow":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":"dc4dc620-3d2a-11ef-b23c-0125361f42d1"},"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/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098/signaling 200 10ms","method":"POST","requestID":"dc4dc620-3d2a-11ef-b23c-0125361f42d1","responseTime":10,"status":200,"url":"/devices/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3Nn0.zU9a2OyzqrF7kreSPWYKSptK5gRn_C94Refxr59Vk78","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b74aa29ab98c6ebb269bbb22c57d8ad1","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/294cb637-cd6e-4d5c-90c6-43811d512265"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:16Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.898292,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/294cb637-cd6e-4d5c-90c6-43811d512265","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/294cb637-cd6e-4d5c-90c6-43811d512265","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443976,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3Nn0.zU9a2OyzqrF7kreSPWYKSptK5gRn_C94Refxr59Vk78"} 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":"b74aa29ab98c6ebb269bbb22c57d8ad1"},"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/294cb637-cd6e-4d5c-90c6-43811d512265"} gateway-1 | {"time_local":"08/Jul/2024:13:06:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/294cb637-cd6e-4d5c-90c6-43811d512265 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":"b74aa29ab98c6ebb269bbb22c57d8ad1"} experiment-1 | {"level":"info","message":"GET /experiments/294cb637-cd6e-4d5c-90c6-43811d512265 200 16ms","method":"GET","requestID":"b74aa29ab98c6ebb269bbb22c57d8ad1","responseTime":16,"status":200,"url":"/experiments/294cb637-cd6e-4d5c-90c6-43811d512265"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3Nn0.zU9a2OyzqrF7kreSPWYKSptK5gRn_C94Refxr59Vk78","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"acf724d3418692837a29a3943845ae21","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/294cb637-cd6e-4d5c-90c6-43811d512265"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:16Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.250436,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:16Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/294cb637-cd6e-4d5c-90c6-43811d512265","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/294cb637-cd6e-4d5c-90c6-43811d512265","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443976,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3Nn0.zU9a2OyzqrF7kreSPWYKSptK5gRn_C94Refxr59Vk78"} 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":"acf724d3418692837a29a3943845ae21"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/294cb637-cd6e-4d5c-90c6-43811d512265"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:16Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.363275,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:16Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/97e589f9-f605-4b03-b531-e04b175c1f48","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:http://localhost/peerconnections/97e589f9-f605-4b03-b531-e04b175c1f48","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443976,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3Nn0.zU9a2OyzqrF7kreSPWYKSptK5gRn_C94Refxr59Vk78"} 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":"dc58e9b0-3d2a-11ef-b23c-0125361f42d1"},"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/97e589f9-f605-4b03-b531-e04b175c1f48' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/97e589f9-f605-4b03-b531-e04b175c1f48' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"97e589f9-f605-4b03-b531-e04b175c1f48","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":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F97e589f9-f605-4b03-b531-e04b175c1f48': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F97e589f9-f605-4b03-b531-e04b175c1f48","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"e1b189b1-6c03-43d0-bb9a-aca6e1f70933","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443976.6826212} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f612c6420bae89264637c7319d6b70b7","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aad782f8-6c29-4c3d-8ec0-8d690c958ec1","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443976.683084} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"5d0d847eb717d396692b18853b4228ec","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/158b358b-3f47-4433-9044-11d585794acd"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/97e589f9-f605-4b03-b531-e04b175c1f48"}}},"level":"info","message":"received a callback"} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dc58e9b0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} 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/158b358b-3f47-4433-9044-11d585794acd"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/97e589f9-f605-4b03-b531-e04b175c1f48"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"97e589f9-f605-4b03-b531-e04b175c1f48","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/97e589f9-f605-4b03-b531-e04b175c1f48 204 56ms","method":"DELETE","requestID":"dc58e9b0-3d2a-11ef-b23c-0125361f42d1","responseTime":56,"status":204,"url":"/peerconnections/97e589f9-f605-4b03-b531-e04b175c1f48"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/294cb637-cd6e-4d5c-90c6-43811d512265"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:16Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F158b358b-3f47-4433-9044-11d585794acd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d6b2e6d9-6ccd-4a00-bb36-145d2eacf65e","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443976.7439542} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.028727,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/158b358b-3f47-4433-9044-11d585794acd","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/158b358b-3f47-4433-9044-11d585794acd","object_type":"device","rebac_allow":false,"scope_allow":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":"dc6593e0-3d2a-11ef-b23c-0125361f42d1"},"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/158b358b-3f47-4433-9044-11d585794acd/signaling 200 18ms","method":"POST","requestID":"dc6593e0-3d2a-11ef-b23c-0125361f42d1","responseTime":18,"status":200,"url":"/devices/158b358b-3f47-4433-9044-11d585794acd/signaling"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F294cb637-cd6e-4d5c-90c6-43811d512265': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F294cb637-cd6e-4d5c-90c6-43811d512265","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"8f1f95d2-bc12-48eb-afb8-07208f4b0974","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443976.755052} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1f2b17c8-350f-42f5-b045-71aef2cafb2a","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443976.7554834} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 25ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"acf724d3418692837a29a3943845ae21"},"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:58600","level":"info","msg":"Received request.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:16Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbb3c0643-d6ac-4b6e-8066-1f3ccc85a098","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"506b926a-b7e2-4f32-af1c-ae79d1341478","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443976.764255} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.828907,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098","object_type":"device","rebac_allow":false,"scope_allow":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":"dc691650-3d2a-11ef-b23c-0125361f42d1"},"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/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098/signaling 200 14ms","method":"POST","requestID":"dc691650-3d2a-11ef-b23c-0125361f42d1","responseTime":14,"status":200,"url":"/devices/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/294cb637-cd6e-4d5c-90c6-43811d512265"} gateway-1 | {"time_local":"08/Jul/2024:13:06:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/294cb637-cd6e-4d5c-90c6-43811d512265 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.209","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"acf724d3418692837a29a3943845ae21"} gateway-1 | {"time_local":"08/Jul/2024:13:06:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2990","request_time":"4.243","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"a79779b6b6793c5d4405cbcbf7d6cc15"} experiment-1 | {"level":"info","message":"DELETE /experiments/294cb637-cd6e-4d5c-90c6-43811d512265 204 207ms","method":"DELETE","requestID":"acf724d3418692837a29a3943845ae21","responseTime":207,"status":204,"url":"/experiments/294cb637-cd6e-4d5c-90c6-43811d512265"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 157ms","method":"POST","requestID":"f612c6420bae89264637c7319d6b70b7","responseTime":157,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:06:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.163","http_referrer":"","http_user_agent":"node-fetch","requestID":"f612c6420bae89264637c7319d6b70b7"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 154ms","method":"POST","requestID":"5d0d847eb717d396692b18853b4228ec","responseTime":154,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:06:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.164","http_referrer":"","http_user_agent":"node-fetch","requestID":"5d0d847eb717d396692b18853b4228ec"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3Nn0.zU9a2OyzqrF7kreSPWYKSptK5gRn_C94Refxr59Vk78","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ea2775809bf762198583cdb1a228c5e9","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"08/Jul/2024:13:06:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2501","request_time":"2.798","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e82032b2c365ddf6a49eee3ff3fa1cd1"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:16Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.19048,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:16Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443976,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3Nn0.zU9a2OyzqrF7kreSPWYKSptK5gRn_C94Refxr59Vk78"} 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":"ea2775809bf762198583cdb1a228c5e9"},"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/158b358b-3f47-4433-9044-11d585794acd' 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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe6030e5d-93be-489a-bee2-2f02273f0c9a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"27ec4273-a27c-4d0d-a24d-1bf854a2cf7a","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443976.8731155} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ea2775809bf762198583cdb1a228c5e9"},"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/bb3c0643-d6ac-4b6e-8066-1f3ccc85a098' 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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d4e1c8f6-649f-47c5-8206-0437aeb33cad","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443976.878694} 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":"ea2775809bf762198583cdb1a228c5e9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe6030e5d-93be-489a-bee2-2f02273f0c9a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"71ad29fa-4174-41bd-ab3f-76d370a032de","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443976.895591} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cf5bb086-e141-43ef-b40b-bb67618497a7","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443976.8956978} 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":"ea2775809bf762198583cdb1a228c5e9"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe6030e5d-93be-489a-bee2-2f02273f0c9a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe6030e5d-93be-489a-bee2-2f02273f0c9a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:16.895578870Z"}]},"request_id":"9c35a7e8-bef7-490f-9ecb-6bc6b967cb16","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443976.9012341} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ea2775809bf762198583cdb1a228c5e9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.062","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ea2775809bf762198583cdb1a228c5e9"} device-1 | {"level":"info","message":"POST /devices? 201 55ms","method":"POST","requestID":"ea2775809bf762198583cdb1a228c5e9","responseTime":55,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3Nn0.zU9a2OyzqrF7kreSPWYKSptK5gRn_C94Refxr59Vk78","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b45e5f7e20114f9b89c71d171eff2608","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:16Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.954142,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:16Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443976,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3Nn0.zU9a2OyzqrF7kreSPWYKSptK5gRn_C94Refxr59Vk78"} 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":"b45e5f7e20114f9b89c71d171eff2608"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F441c21e9-419a-41a9-94a7-0bf77a6f9c3e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ffd4e37e-ee50-4251-8d92-b0b4d7918091","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443976.9276226} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b45e5f7e20114f9b89c71d171eff2608"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"909449b5-22b0-4e04-8307-ea57011bec36","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443976.9334056} 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":"b45e5f7e20114f9b89c71d171eff2608"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F441c21e9-419a-41a9-94a7-0bf77a6f9c3e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"d58e703f-9790-4303-9c12-6f84969128cc","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443976.9462137} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f59a4131-62a6-49f5-b1bb-92bd911cb232","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443976.946367} 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":"b45e5f7e20114f9b89c71d171eff2608"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F441c21e9-419a-41a9-94a7-0bf77a6f9c3e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F441c21e9-419a-41a9-94a7-0bf77a6f9c3e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:16.946200884Z"}]},"request_id":"948250e4-ae9f-47b2-bc5d-4b7cff187d6a","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443976.9507916} 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":"b45e5f7e20114f9b89c71d171eff2608"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b45e5f7e20114f9b89c71d171eff2608"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"b45e5f7e20114f9b89c71d171eff2608","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3N30.xhsJsHuwQJ8eklWJOP-NbD1GGAIeZp-0Kzeo765oFfM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"6d53544b4a362761e86f7a98136edcc5","responseTime":8,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3N30.xhsJsHuwQJ8eklWJOP-NbD1GGAIeZp-0Kzeo765oFfM","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"12f3973a1689a59374081ad788ec8c87","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:17Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.904445,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:17Z"} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Received request.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:17Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/441c21e9-419a-41a9-94a7-0bf77a6f9c3e","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/441c21e9-419a-41a9-94a7-0bf77a6f9c3e","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443977,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3N30.xhsJsHuwQJ8eklWJOP-NbD1GGAIeZp-0Kzeo765oFfM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6d53544b4a362761e86f7a98136edcc5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Sent response.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.924658,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:17Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e6030e5d-93be-489a-bee2-2f02273f0c9a","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/e6030e5d-93be-489a-bee2-2f02273f0c9a","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443977,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3N30.xhsJsHuwQJ8eklWJOP-NbD1GGAIeZp-0Kzeo765oFfM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"12f3973a1689a59374081ad788ec8c87"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F441c21e9-419a-41a9-94a7-0bf77a6f9c3e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F441c21e9-419a-41a9-94a7-0bf77a6f9c3e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:16.946200884Z"}]},"request_id":"50dceb7c-851b-416f-a184-99b8a33bff4c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443977.4424884} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6d53544b4a362761e86f7a98136edcc5"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe6030e5d-93be-489a-bee2-2f02273f0c9a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe6030e5d-93be-489a-bee2-2f02273f0c9a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:16.895578870Z"}]},"request_id":"d9189327-11f8-4df5-b294-62c04d3e7aa9","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443977.4436052} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"12f3973a1689a59374081ad788ec8c87"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8d8f2c64-56d9-4ff2-890c-474f1a007fc6","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443977.4487867} 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":"6d53544b4a362761e86f7a98136edcc5"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5a6c10a7-85c6-4514-9a9c-d59b94f080d0","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443977.4515898} 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":"12f3973a1689a59374081ad788ec8c87"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe6030e5d-93be-489a-bee2-2f02273f0c9a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe6030e5d-93be-489a-bee2-2f02273f0c9a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:16.895578870Z"}]},"request_id":"d617f7f3-bb90-4d0b-be1f-d8447246e6fd","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443977.455071} 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":"12f3973a1689a59374081ad788ec8c87"},"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/e6030e5d-93be-489a-bee2-2f02273f0c9a 200 26ms","method":"PATCH","requestID":"12f3973a1689a59374081ad788ec8c87","responseTime":26,"status":200,"url":"/devices/e6030e5d-93be-489a-bee2-2f02273f0c9a"} gateway-1 | {"time_local":"08/Jul/2024:13:06:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/e6030e5d-93be-489a-bee2-2f02273f0c9a HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.038","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"12f3973a1689a59374081ad788ec8c87"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3N30.xhsJsHuwQJ8eklWJOP-NbD1GGAIeZp-0Kzeo765oFfM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"298cdfe93c95c85c594a42628cadfb86","responseTime":2,"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F441c21e9-419a-41a9-94a7-0bf77a6f9c3e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F441c21e9-419a-41a9-94a7-0bf77a6f9c3e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:16.946200884Z"}]},"request_id":"e0868973-0f58-4b6c-a5d8-727c9ae2725f","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443977.4658177} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6d53544b4a362761e86f7a98136edcc5"},"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:58600","level":"info","msg":"Received request.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:17Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.66118,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:17Z"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e6030e5d-93be-489a-bee2-2f02273f0c9a","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/e6030e5d-93be-489a-bee2-2f02273f0c9a","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443977,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3N30.xhsJsHuwQJ8eklWJOP-NbD1GGAIeZp-0Kzeo765oFfM"} gateway-1 | {"time_local":"08/Jul/2024:13:06:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/441c21e9-419a-41a9-94a7-0bf77a6f9c3e HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.049","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"6d53544b4a362761e86f7a98136edcc5"} 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":"298cdfe93c95c85c594a42628cadfb86"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"PATCH /devices/441c21e9-419a-41a9-94a7-0bf77a6f9c3e 200 39ms","method":"PATCH","requestID":"6d53544b4a362761e86f7a98136edcc5","responseTime":39,"status":200,"url":"/devices/441c21e9-419a-41a9-94a7-0bf77a6f9c3e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3N30.xhsJsHuwQJ8eklWJOP-NbD1GGAIeZp-0Kzeo765oFfM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"683568bc667355e4b228acaed7d7c22a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:17Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.8268,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:17Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/441c21e9-419a-41a9-94a7-0bf77a6f9c3e","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/441c21e9-419a-41a9-94a7-0bf77a6f9c3e","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443977,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3N30.xhsJsHuwQJ8eklWJOP-NbD1GGAIeZp-0Kzeo765oFfM"} 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":"683568bc667355e4b228acaed7d7c22a"},"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":"08/Jul/2024:13:06:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e6030e5d-93be-489a-bee2-2f02273f0c9a/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.022","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"298cdfe93c95c85c594a42628cadfb86"} device-1 | {"level":"info","message":"POST /devices/e6030e5d-93be-489a-bee2-2f02273f0c9a/websocket 200 18ms","method":"POST","requestID":"298cdfe93c95c85c594a42628cadfb86","responseTime":18,"status":200,"url":"/devices/e6030e5d-93be-489a-bee2-2f02273f0c9a/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/441c21e9-419a-41a9-94a7-0bf77a6f9c3e/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.022","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"683568bc667355e4b228acaed7d7c22a"} device-1 | {"level":"info","message":"POST /devices/441c21e9-419a-41a9-94a7-0bf77a6f9c3e/websocket 200 17ms","method":"POST","requestID":"683568bc667355e4b228acaed7d7c22a","responseTime":17,"status":200,"url":"/devices/441c21e9-419a-41a9-94a7-0bf77a6f9c3e/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/e6030e5d-93be-489a-bee2-2f02273f0c9a' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/441c21e9-419a-41a9-94a7-0bf77a6f9c3e' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3N30.xhsJsHuwQJ8eklWJOP-NbD1GGAIeZp-0Kzeo765oFfM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"99d848071b0d28c9dc8c2acaf5587f0e","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:17Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.658646,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e6030e5d-93be-489a-bee2-2f02273f0c9a","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/e6030e5d-93be-489a-bee2-2f02273f0c9a","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443977,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3N30.xhsJsHuwQJ8eklWJOP-NbD1GGAIeZp-0Kzeo765oFfM"} 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":"99d848071b0d28c9dc8c2acaf5587f0e"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe6030e5d-93be-489a-bee2-2f02273f0c9a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe6030e5d-93be-489a-bee2-2f02273f0c9a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:16.895578870Z"}]},"request_id":"337b5855-f324-4d8c-82c9-cf3152b50f93","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443977.526477} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"99d848071b0d28c9dc8c2acaf5587f0e"},"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":"08/Jul/2024:13:06:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e6030e5d-93be-489a-bee2-2f02273f0c9a? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"99d848071b0d28c9dc8c2acaf5587f0e"} device-1 | {"level":"info","message":"GET /devices/e6030e5d-93be-489a-bee2-2f02273f0c9a? 200 12ms","method":"GET","requestID":"99d848071b0d28c9dc8c2acaf5587f0e","responseTime":12,"status":200,"url":"/devices/e6030e5d-93be-489a-bee2-2f02273f0c9a?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3N30.xhsJsHuwQJ8eklWJOP-NbD1GGAIeZp-0Kzeo765oFfM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e1cc13a9ce677a2cdba0a722fbd0b9ad","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:17Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.077224,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/441c21e9-419a-41a9-94a7-0bf77a6f9c3e","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/441c21e9-419a-41a9-94a7-0bf77a6f9c3e","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443977,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3N30.xhsJsHuwQJ8eklWJOP-NbD1GGAIeZp-0Kzeo765oFfM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e1cc13a9ce677a2cdba0a722fbd0b9ad"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F441c21e9-419a-41a9-94a7-0bf77a6f9c3e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F441c21e9-419a-41a9-94a7-0bf77a6f9c3e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:16.946200884Z"}]},"request_id":"37fd84d7-92b5-4db8-8a62-7ce6a7928202","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443977.548057} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e1cc13a9ce677a2cdba0a722fbd0b9ad"},"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":"08/Jul/2024:13:06:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/441c21e9-419a-41a9-94a7-0bf77a6f9c3e? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e1cc13a9ce677a2cdba0a722fbd0b9ad"} device-1 | {"level":"info","message":"GET /devices/441c21e9-419a-41a9-94a7-0bf77a6f9c3e? 200 15ms","method":"GET","requestID":"e1cc13a9ce677a2cdba0a722fbd0b9ad","responseTime":15,"status":200,"url":"/devices/441c21e9-419a-41a9-94a7-0bf77a6f9c3e?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3N30.xhsJsHuwQJ8eklWJOP-NbD1GGAIeZp-0Kzeo765oFfM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"122364b9a6515efb4245cd36e97a8ecf","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:58600","level":"info","msg":"Received request.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:17Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.01786,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:17Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443977,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3N30.xhsJsHuwQJ8eklWJOP-NbD1GGAIeZp-0Kzeo765oFfM"} 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":"122364b9a6515efb4245cd36e97a8ecf"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e584754a-587d-49dd-9288-1de84f48de3e"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e584754a-587d-49dd-9288-1de84f48de3e"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e584754a-587d-49dd-9288-1de84f48de3e"},"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:58600","level":"info","msg":"Received request.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:17Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.677882,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:17Z"} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Received request.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e6030e5d-93be-489a-bee2-2f02273f0c9a","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/e6030e5d-93be-489a-bee2-2f02273f0c9a","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443977,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3N30.xhsJsHuwQJ8eklWJOP-NbD1GGAIeZp-0Kzeo765oFfM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dceb8cc0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Sent response.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.027469,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/441c21e9-419a-41a9-94a7-0bf77a6f9c3e","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/441c21e9-419a-41a9-94a7-0bf77a6f9c3e","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443977,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3N30.xhsJsHuwQJ8eklWJOP-NbD1GGAIeZp-0Kzeo765oFfM"} 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":"dcec01f0-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe6030e5d-93be-489a-bee2-2f02273f0c9a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe6030e5d-93be-489a-bee2-2f02273f0c9a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:16.895578870Z"}]},"request_id":"3f93fc1d-3641-4da8-9ccc-51e5d4d01cb9","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443977.6271808} 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":"dceb8cc0-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F441c21e9-419a-41a9-94a7-0bf77a6f9c3e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F441c21e9-419a-41a9-94a7-0bf77a6f9c3e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:16.946200884Z"}]},"request_id":"595639f4-f2d0-4933-b0fa-d61dd0d40991","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443977.62924} 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":"dcec01f0-3d2a-11ef-b23c-0125361f42d1"},"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/e6030e5d-93be-489a-bee2-2f02273f0c9a? 200 26ms","method":"GET","requestID":"dceb8cc0-3d2a-11ef-b23c-0125361f42d1","responseTime":26,"status":200,"url":"/devices/e6030e5d-93be-489a-bee2-2f02273f0c9a?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/441c21e9-419a-41a9-94a7-0bf77a6f9c3e? 200 26ms","method":"GET","requestID":"dcec01f0-3d2a-11ef-b23c-0125361f42d1","responseTime":26,"status":200,"url":"/devices/441c21e9-419a-41a9-94a7-0bf77a6f9c3e?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e584754a-587d-49dd-9288-1de84f48de3e"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e584754a-587d-49dd-9288-1de84f48de3e"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e584754a-587d-49dd-9288-1de84f48de3e"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e584754a-587d-49dd-9288-1de84f48de3e"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e584754a-587d-49dd-9288-1de84f48de3e"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e584754a-587d-49dd-9288-1de84f48de3e"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e584754a-587d-49dd-9288-1de84f48de3e"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e584754a-587d-49dd-9288-1de84f48de3e"},"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:58600","level":"info","msg":"Received request.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:17Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e584754a-587d-49dd-9288-1de84f48de3e"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.664202,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:17Z"} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Received request.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e6030e5d-93be-489a-bee2-2f02273f0c9a","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/e6030e5d-93be-489a-bee2-2f02273f0c9a","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443977,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3N30.xhsJsHuwQJ8eklWJOP-NbD1GGAIeZp-0Kzeo765oFfM"} 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":"dcf94860-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Sent response.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.137738,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/441c21e9-419a-41a9-94a7-0bf77a6f9c3e","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/441c21e9-419a-41a9-94a7-0bf77a6f9c3e","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443977,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3N30.xhsJsHuwQJ8eklWJOP-NbD1GGAIeZp-0Kzeo765oFfM"} 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":"dcf9bd90-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:17Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe6030e5d-93be-489a-bee2-2f02273f0c9a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b41f612a-73a2-41b4-b5e7-f2bce7269644","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443977.7188482} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.335414,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:17Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe6030e5d-93be-489a-bee2-2f02273f0c9a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe6030e5d-93be-489a-bee2-2f02273f0c9a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:16.895578870Z"}]},"request_id":"1fe02af4-1de5-4f33-b495-a39b245fa17a","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443977.7233877} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e6030e5d-93be-489a-bee2-2f02273f0c9a","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e6030e5d-93be-489a-bee2-2f02273f0c9a","object_type":"device","rebac_allow":false,"scope_allow":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":"dcfa32c0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} 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":"dcf94860-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"POST /devices/e6030e5d-93be-489a-bee2-2f02273f0c9a/signaling 200 22ms","method":"POST","requestID":"dcfa32c0-3d2a-11ef-b23c-0125361f42d1","responseTime":22,"status":200,"url":"/devices/e6030e5d-93be-489a-bee2-2f02273f0c9a/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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F441c21e9-419a-41a9-94a7-0bf77a6f9c3e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F441c21e9-419a-41a9-94a7-0bf77a6f9c3e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:16.946200884Z"}]},"request_id":"78ba1fef-1e2d-4297-add1-3c4045a867a6","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443977.7252758} 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":"dcf9bd90-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/e6030e5d-93be-489a-bee2-2f02273f0c9a? 200 37ms","method":"GET","requestID":"dcf94860-3d2a-11ef-b23c-0125361f42d1","responseTime":37,"status":200,"url":"/devices/e6030e5d-93be-489a-bee2-2f02273f0c9a?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/441c21e9-419a-41a9-94a7-0bf77a6f9c3e? 200 35ms","method":"GET","requestID":"dcf9bd90-3d2a-11ef-b23c-0125361f42d1","responseTime":35,"status":200,"url":"/devices/441c21e9-419a-41a9-94a7-0bf77a6f9c3e?"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:17Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe584754a-587d-49dd-9288-1de84f48de3e#owner@http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe584754a-587d-49dd-9288-1de84f48de3e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"4c155150-3dfb-40d6-80ce-15af85e0fa44","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443977.7416377} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F441c21e9-419a-41a9-94a7-0bf77a6f9c3e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ce3f9617-062b-4590-9544-30c3f47aa138","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443977.7419977} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f7c5624a-9853-4a55-b0c3-8da16eb9469a","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443977.7420104} authorization-1 | {"level":"info","message":"POST /relations/update 200 26ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"122364b9a6515efb4245cd36e97a8ecf"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":26}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.800621,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/441c21e9-419a-41a9-94a7-0bf77a6f9c3e","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/441c21e9-419a-41a9-94a7-0bf77a6f9c3e","object_type":"device","rebac_allow":false,"scope_allow":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":"dcfe5170-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:17Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/441c21e9-419a-41a9-94a7-0bf77a6f9c3e/signaling 200 15ms","method":"POST","requestID":"dcfe5170-3d2a-11ef-b23c-0125361f42d1","responseTime":15,"status":200,"url":"/devices/441c21e9-419a-41a9-94a7-0bf77a6f9c3e/signaling"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe6030e5d-93be-489a-bee2-2f02273f0c9a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"69aa83e6-0d02-4d8f-b125-e2dc5a8f38f3","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443977.7519424} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.480911,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e6030e5d-93be-489a-bee2-2f02273f0c9a","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e6030e5d-93be-489a-bee2-2f02273f0c9a","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/e584754a-587d-49dd-9288-1de84f48de3e","user":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"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":"dcffb100-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} gateway-1 | {"time_local":"08/Jul/2024:13:06:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"815","request_time":"0.200","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"122364b9a6515efb4245cd36e97a8ecf"} experiment-1 | {"level":"info","message":"POST /experiments? 201 194ms","method":"POST","requestID":"122364b9a6515efb4245cd36e97a8ecf","responseTime":194,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/e6030e5d-93be-489a-bee2-2f02273f0c9a/signaling 200 14ms","method":"POST","requestID":"dcffb100-3d2a-11ef-b23c-0125361f42d1","responseTime":14,"status":200,"url":"/devices/e6030e5d-93be-489a-bee2-2f02273f0c9a/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3N30.xhsJsHuwQJ8eklWJOP-NbD1GGAIeZp-0Kzeo765oFfM","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"814d02c5776e117c27d02f64e9e09f08","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:17Z"} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Received request.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:17Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F441c21e9-419a-41a9-94a7-0bf77a6f9c3e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0df62d59-78b2-4d3b-89fb-7ba528ae63f5","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443977.7658465} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Sent response.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.935449,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e6030e5d-93be-489a-bee2-2f02273f0c9a","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/e6030e5d-93be-489a-bee2-2f02273f0c9a","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443977,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3N30.xhsJsHuwQJ8eklWJOP-NbD1GGAIeZp-0Kzeo765oFfM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"814d02c5776e117c27d02f64e9e09f08"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.95122,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/441c21e9-419a-41a9-94a7-0bf77a6f9c3e","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/441c21e9-419a-41a9-94a7-0bf77a6f9c3e","object_type":"device","rebac_allow":false,"scope_allow":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":"dd022200-3d2a-11ef-b23c-0125361f42d1"},"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/441c21e9-419a-41a9-94a7-0bf77a6f9c3e/signaling 200 13ms","method":"POST","requestID":"dd022200-3d2a-11ef-b23c-0125361f42d1","responseTime":13,"status":200,"url":"/devices/441c21e9-419a-41a9-94a7-0bf77a6f9c3e/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e584754a-587d-49dd-9288-1de84f48de3e"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e584754a-587d-49dd-9288-1de84f48de3e"},"level":"info","message":"Building connection plan"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe6030e5d-93be-489a-bee2-2f02273f0c9a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe6030e5d-93be-489a-bee2-2f02273f0c9a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:16.895578870Z"}]},"request_id":"70dbd415-a134-4b35-852a-166c3cbc0a53","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443977.7744143} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"a3f815a0-8afd-4026-a006-f0d43b58ec8d"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"11bc66a6-487a-477f-8286-759c58c35806"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"5a96a7bd-a7b2-4130-92c2-14c4481fe482"}]},"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/e6030e5d-93be-489a-bee2-2f02273f0c9a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/441c21e9-419a-41a9-94a7-0bf77a6f9c3e"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"814d02c5776e117c27d02f64e9e09f08"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e6030e5d-93be-489a-bee2-2f02273f0c9a? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"814d02c5776e117c27d02f64e9e09f08"} device-1 | {"level":"info","message":"GET /devices/e6030e5d-93be-489a-bee2-2f02273f0c9a? 200 18ms","method":"GET","requestID":"814d02c5776e117c27d02f64e9e09f08","responseTime":18,"status":200,"url":"/devices/e6030e5d-93be-489a-bee2-2f02273f0c9a?"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:17Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.834589,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:17Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443977,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3N30.xhsJsHuwQJ8eklWJOP-NbD1GGAIeZp-0Kzeo765oFfM"} 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":"dd04ba10-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3N30.xhsJsHuwQJ8eklWJOP-NbD1GGAIeZp-0Kzeo765oFfM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c51367fbf079dbe9cf512e91378dfee8","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:17Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.613571,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/441c21e9-419a-41a9-94a7-0bf77a6f9c3e","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/441c21e9-419a-41a9-94a7-0bf77a6f9c3e","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443977,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk3N30.xhsJsHuwQJ8eklWJOP-NbD1GGAIeZp-0Kzeo765oFfM"} 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":"c51367fbf079dbe9cf512e91378dfee8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","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%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"1dbac992-8e4f-4826-bea3-9843fbb9ab64","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443977.7947195} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3b5d80b7-07cd-4ab5-8c91-895ae5fcdc29","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443977.7949126} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dd04ba10-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F441c21e9-419a-41a9-94a7-0bf77a6f9c3e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F441c21e9-419a-41a9-94a7-0bf77a6f9c3e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:16.946200884Z"}]},"request_id":"5c242f9a-943e-4ba1-89b8-f6e66aa1e0a4","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443977.79968} 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":"c51367fbf079dbe9cf512e91378dfee8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"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/02a18e6e-609e-46e7-8994-9b72f0e934f4'"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/441c21e9-419a-41a9-94a7-0bf77a6f9c3e? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.032","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c51367fbf079dbe9cf512e91378dfee8"} device-1 | {"level":"info","message":"GET /devices/441c21e9-419a-41a9-94a7-0bf77a6f9c3e? 200 27ms","method":"GET","requestID":"c51367fbf079dbe9cf512e91378dfee8","responseTime":27,"status":200,"url":"/devices/441c21e9-419a-41a9-94a7-0bf77a6f9c3e?"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/02a18e6e-609e-46e7-8994-9b72f0e934f4'"} 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":"dd04ba10-3d2a-11ef-b23c-0125361f42d1","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"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e584754a-587d-49dd-9288-1de84f48de3e"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:17Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe6030e5d-93be-489a-bee2-2f02273f0c9a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"49ef7bd6-3815-41e0-81ce-7e2153172af9","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443977.8516574} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.572569,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e6030e5d-93be-489a-bee2-2f02273f0c9a","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e6030e5d-93be-489a-bee2-2f02273f0c9a","object_type":"device","rebac_allow":false,"scope_allow":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":"dd0f4160-3d2a-11ef-b23c-0125361f42d1"},"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/e6030e5d-93be-489a-bee2-2f02273f0c9a/signaling 200 9ms","method":"POST","requestID":"dd0f4160-3d2a-11ef-b23c-0125361f42d1","responseTime":9,"status":200,"url":"/devices/e6030e5d-93be-489a-bee2-2f02273f0c9a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:17Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F441c21e9-419a-41a9-94a7-0bf77a6f9c3e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f70ee376-49e9-4f39-957b-0c86873fe567","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443977.8643274} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.518911,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/441c21e9-419a-41a9-94a7-0bf77a6f9c3e","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/441c21e9-419a-41a9-94a7-0bf77a6f9c3e","object_type":"device","rebac_allow":false,"scope_allow":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":"dd113d30-3d2a-11ef-b23c-0125361f42d1"},"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/441c21e9-419a-41a9-94a7-0bf77a6f9c3e/signaling 200 11ms","method":"POST","requestID":"dd113d30-3d2a-11ef-b23c-0125361f42d1","responseTime":11,"status":200,"url":"/devices/441c21e9-419a-41a9-94a7-0bf77a6f9c3e/signaling"} device-1 | {"data":{"peerconnection":"02a18e6e-609e-46e7-8994-9b72f0e934f4","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"02a18e6e-609e-46e7-8994-9b72f0e934f4","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/02a18e6e-609e-46e7-8994-9b72f0e934f4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"02a18e6e-609e-46e7-8994-9b72f0e934f4","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":"1d83549f1d58840020e7a3a740d8646e","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/e6030e5d-93be-489a-bee2-2f02273f0c9a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/441c21e9-419a-41a9-94a7-0bf77a6f9c3e"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/02a18e6e-609e-46e7-8994-9b72f0e934f4"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 10ms","method":"POST","requestID":"1d83549f1d58840020e7a3a740d8646e","responseTime":10,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:06:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch","requestID":"1d83549f1d58840020e7a3a740d8646e"} device-1 | {"data":{"peerconnection":"02a18e6e-609e-46e7-8994-9b72f0e934f4","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"02a18e6e-609e-46e7-8994-9b72f0e934f4","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/02a18e6e-609e-46e7-8994-9b72f0e934f4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"02a18e6e-609e-46e7-8994-9b72f0e934f4","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":"4cc3f77850527ed59f1ea96d115df1dc","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/e6030e5d-93be-489a-bee2-2f02273f0c9a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/441c21e9-419a-41a9-94a7-0bf77a6f9c3e"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/02a18e6e-609e-46e7-8994-9b72f0e934f4"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:19Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F02a18e6e-609e-46e7-8994-9b72f0e934f4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c76be8af-ef2e-4c26-b44a-cd85e48b2088","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443979.9404442} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.968425,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/02a18e6e-609e-46e7-8994-9b72f0e934f4","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/02a18e6e-609e-46e7-8994-9b72f0e934f4","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":"de4db4d0-3d2a-11ef-b23c-0125361f42d1"},"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/02a18e6e-609e-46e7-8994-9b72f0e934f4 200 14ms","method":"GET","requestID":"de4db4d0-3d2a-11ef-b23c-0125361f42d1","responseTime":14,"status":200,"url":"/peerconnections/02a18e6e-609e-46e7-8994-9b72f0e934f4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 46ms","method":"POST","requestID":"4cc3f77850527ed59f1ea96d115df1dc","responseTime":46,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:06:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch","requestID":"4cc3f77850527ed59f1ea96d115df1dc"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:19Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe6030e5d-93be-489a-bee2-2f02273f0c9a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d6a859e0-c26b-482e-855f-56f75562cde5","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443979.9774606} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.547868,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e6030e5d-93be-489a-bee2-2f02273f0c9a","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e6030e5d-93be-489a-bee2-2f02273f0c9a","object_type":"device","rebac_allow":false,"scope_allow":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":"de53a840-3d2a-11ef-b23c-0125361f42d1"},"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/e6030e5d-93be-489a-bee2-2f02273f0c9a/signaling 200 10ms","method":"POST","requestID":"de53a840-3d2a-11ef-b23c-0125361f42d1","responseTime":10,"status":200,"url":"/devices/e6030e5d-93be-489a-bee2-2f02273f0c9a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:19Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F441c21e9-419a-41a9-94a7-0bf77a6f9c3e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e193f574-8cf2-4f2e-b919-74f3db06fc54","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443979.99056} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.509513,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/441c21e9-419a-41a9-94a7-0bf77a6f9c3e","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/441c21e9-419a-41a9-94a7-0bf77a6f9c3e","object_type":"device","rebac_allow":false,"scope_allow":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":"de557d00-3d2a-11ef-b23c-0125361f42d1"},"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/441c21e9-419a-41a9-94a7-0bf77a6f9c3e/signaling 200 12ms","method":"POST","requestID":"de557d00-3d2a-11ef-b23c-0125361f42d1","responseTime":12,"status":200,"url":"/devices/441c21e9-419a-41a9-94a7-0bf77a6f9c3e/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MH0.zvFUm0HtuhX4qHU6JCt24Mb6x6PhfwiQbyufkzY4iw4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"eb48e770857526dea8e8577168dd300e","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/e584754a-587d-49dd-9288-1de84f48de3e"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:20Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.021342,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e584754a-587d-49dd-9288-1de84f48de3e","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/e584754a-587d-49dd-9288-1de84f48de3e","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443980,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MH0.zvFUm0HtuhX4qHU6JCt24Mb6x6PhfwiQbyufkzY4iw4"} 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":"eb48e770857526dea8e8577168dd300e"},"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/e584754a-587d-49dd-9288-1de84f48de3e"} gateway-1 | {"time_local":"08/Jul/2024:13:06:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/e584754a-587d-49dd-9288-1de84f48de3e HTTP/1.1","status": "200","body_bytes_sent":"888","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"eb48e770857526dea8e8577168dd300e"} experiment-1 | {"level":"info","message":"GET /experiments/e584754a-587d-49dd-9288-1de84f48de3e 200 20ms","method":"GET","requestID":"eb48e770857526dea8e8577168dd300e","responseTime":20,"status":200,"url":"/experiments/e584754a-587d-49dd-9288-1de84f48de3e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MH0.zvFUm0HtuhX4qHU6JCt24Mb6x6PhfwiQbyufkzY4iw4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"22b1c733edb2b283b6d2b957ebadb5be","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/e584754a-587d-49dd-9288-1de84f48de3e"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:20Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.211892,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:20Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e584754a-587d-49dd-9288-1de84f48de3e","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/e584754a-587d-49dd-9288-1de84f48de3e","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443980,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MH0.zvFUm0HtuhX4qHU6JCt24Mb6x6PhfwiQbyufkzY4iw4"} 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":"22b1c733edb2b283b6d2b957ebadb5be"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e584754a-587d-49dd-9288-1de84f48de3e"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:20Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.244989,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:20Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/02a18e6e-609e-46e7-8994-9b72f0e934f4","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:http://localhost/peerconnections/02a18e6e-609e-46e7-8994-9b72f0e934f4","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443980,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MH0.zvFUm0HtuhX4qHU6JCt24Mb6x6PhfwiQbyufkzY4iw4"} 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":"de618af0-3d2a-11ef-b23c-0125361f42d1"},"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/02a18e6e-609e-46e7-8994-9b72f0e934f4' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/02a18e6e-609e-46e7-8994-9b72f0e934f4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"02a18e6e-609e-46e7-8994-9b72f0e934f4","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":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F02a18e6e-609e-46e7-8994-9b72f0e934f4': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F02a18e6e-609e-46e7-8994-9b72f0e934f4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"5cb70c5a-93c5-49ba-afbb-4e5e3335d543","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.0918152} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b960a7d3de99143d2550d081ff48cf6d","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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9d726945-b68f-4bb2-8748-e4ef4c62f6e8","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.092546} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/e6030e5d-93be-489a-bee2-2f02273f0c9a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/441c21e9-419a-41a9-94a7-0bf77a6f9c3e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/02a18e6e-609e-46e7-8994-9b72f0e934f4"}}},"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":"de618af0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6ca1543f11ae1076463540677f3046e6","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/e6030e5d-93be-489a-bee2-2f02273f0c9a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/441c21e9-419a-41a9-94a7-0bf77a6f9c3e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/02a18e6e-609e-46e7-8994-9b72f0e934f4"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"02a18e6e-609e-46e7-8994-9b72f0e934f4","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/02a18e6e-609e-46e7-8994-9b72f0e934f4 204 52ms","method":"DELETE","requestID":"de618af0-3d2a-11ef-b23c-0125361f42d1","responseTime":52,"status":204,"url":"/peerconnections/02a18e6e-609e-46e7-8994-9b72f0e934f4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e584754a-587d-49dd-9288-1de84f48de3e"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:20Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe6030e5d-93be-489a-bee2-2f02273f0c9a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f1fcc33b-fbaa-438c-a61f-a833906a49d4","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.15281} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.81553,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e6030e5d-93be-489a-bee2-2f02273f0c9a","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e6030e5d-93be-489a-bee2-2f02273f0c9a","object_type":"device","rebac_allow":false,"scope_allow":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":"de6de700-3d2a-11ef-b23c-0125361f42d1"},"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/e6030e5d-93be-489a-bee2-2f02273f0c9a/signaling 200 17ms","method":"POST","requestID":"de6de700-3d2a-11ef-b23c-0125361f42d1","responseTime":17,"status":200,"url":"/devices/e6030e5d-93be-489a-bee2-2f02273f0c9a/signaling"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe584754a-587d-49dd-9288-1de84f48de3e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe584754a-587d-49dd-9288-1de84f48de3e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"3f5a94c9-92fe-445d-85b2-d1ed47254697","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.1615536} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0b9b56d7-eb0d-42ef-a3d8-ed10be4882d7","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.1637433} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 24ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"22b1c733edb2b283b6d2b957ebadb5be"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":24}} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:20Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F441c21e9-419a-41a9-94a7-0bf77a6f9c3e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ff94cd96-b79f-4033-ac77-cf1f5c8c6990","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.1746483} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.141272,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/441c21e9-419a-41a9-94a7-0bf77a6f9c3e","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/441c21e9-419a-41a9-94a7-0bf77a6f9c3e","object_type":"device","rebac_allow":false,"scope_allow":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":"de714260-3d2a-11ef-b23c-0125361f42d1"},"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/441c21e9-419a-41a9-94a7-0bf77a6f9c3e/signaling 200 16ms","method":"POST","requestID":"de714260-3d2a-11ef-b23c-0125361f42d1","responseTime":16,"status":200,"url":"/devices/441c21e9-419a-41a9-94a7-0bf77a6f9c3e/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/e584754a-587d-49dd-9288-1de84f48de3e"} gateway-1 | {"time_local":"08/Jul/2024:13:06:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/e584754a-587d-49dd-9288-1de84f48de3e HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.201","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"22b1c733edb2b283b6d2b957ebadb5be"} gateway-1 | {"time_local":"08/Jul/2024:13:06:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2506","request_time":"2.747","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"a6c548636b98f14fd2f5b96205eb0ddd"} gateway-1 | {"time_local":"08/Jul/2024:13:06:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2506","request_time":"2.757","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"34da2c45e82112ebc118b6e64d6e725c"} experiment-1 | {"level":"info","message":"DELETE /experiments/e584754a-587d-49dd-9288-1de84f48de3e 204 197ms","method":"DELETE","requestID":"22b1c733edb2b283b6d2b957ebadb5be","responseTime":197,"status":204,"url":"/experiments/e584754a-587d-49dd-9288-1de84f48de3e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 150ms","method":"POST","requestID":"b960a7d3de99143d2550d081ff48cf6d","responseTime":150,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:06:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.156","http_referrer":"","http_user_agent":"node-fetch","requestID":"b960a7d3de99143d2550d081ff48cf6d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 148ms","method":"POST","requestID":"6ca1543f11ae1076463540677f3046e6","responseTime":148,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MH0.zvFUm0HtuhX4qHU6JCt24Mb6x6PhfwiQbyufkzY4iw4","level":"info","message":"auth send jwt"} gateway-1 | {"time_local":"08/Jul/2024:13:06:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.157","http_referrer":"","http_user_agent":"node-fetch","requestID":"6ca1543f11ae1076463540677f3046e6"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"41853c1c793ccb14d9718aaba3cfed39","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/e6030e5d-93be-489a-bee2-2f02273f0c9a' closed"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:20Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.140564,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443980,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MH0.zvFUm0HtuhX4qHU6JCt24Mb6x6PhfwiQbyufkzY4iw4"} 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":"41853c1c793ccb14d9718aaba3cfed39"},"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/441c21e9-419a-41a9-94a7-0bf77a6f9c3e' 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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78b4d0c3-b319-47eb-a519-86119250f0e6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f265a37c-a70d-47ca-a1a4-b1985864b39f","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.27056} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"41853c1c793ccb14d9718aaba3cfed39"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4d80e36f-e3c1-436e-8791-c53075ac27a3","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.2769973} 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":"41853c1c793ccb14d9718aaba3cfed39"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78b4d0c3-b319-47eb-a519-86119250f0e6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"4ba7cbf3-36d2-4aeb-b9c8-1c5953ab7524","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.2877176} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3c75d7ce-214a-4882-a7d5-316b38d890a0","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.2880669} 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":"41853c1c793ccb14d9718aaba3cfed39"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78b4d0c3-b319-47eb-a519-86119250f0e6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78b4d0c3-b319-47eb-a519-86119250f0e6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:20.287701447Z"}]},"request_id":"130df0d6-76b5-4cb1-ac55-0986d3d0d5ba","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.2937646} 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":"41853c1c793ccb14d9718aaba3cfed39"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06:20 +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":"41853c1c793ccb14d9718aaba3cfed39"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"41853c1c793ccb14d9718aaba3cfed39","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MH0.zvFUm0HtuhX4qHU6JCt24Mb6x6PhfwiQbyufkzY4iw4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"46469306497bda777faa321640f48008","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:20Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.857892,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443980,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MH0.zvFUm0HtuhX4qHU6JCt24Mb6x6PhfwiQbyufkzY4iw4"} 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":"46469306497bda777faa321640f48008"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb37bcfd5-09e9-40e7-abec-9cadbdd04009","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3bdabb7d-0c21-499d-a5c3-ed42132731b5","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.321434} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"46469306497bda777faa321640f48008"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3285322a-bea0-40a5-a6a5-bd15438938a3","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.327445} 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":"46469306497bda777faa321640f48008"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb37bcfd5-09e9-40e7-abec-9cadbdd04009","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"fd92f05e-57c0-4ce0-a25d-5d910284d87f","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.3434722} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"75e8ba3a-9ca2-4ae5-8a22-40a37fcda04a","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.3436701} 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":"46469306497bda777faa321640f48008"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb37bcfd5-09e9-40e7-abec-9cadbdd04009","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb37bcfd5-09e9-40e7-abec-9cadbdd04009","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:20.343457673Z"}]},"request_id":"4cdbf8d4-fa38-46f7-bfdc-f4048d2e6d57","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.34838} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"46469306497bda777faa321640f48008"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"46469306497bda777faa321640f48008"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"46469306497bda777faa321640f48008","responseTime":48,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MH0.zvFUm0HtuhX4qHU6JCt24Mb6x6PhfwiQbyufkzY4iw4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"43f9b59fc4f002e4693fb7d57e37c96e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:20Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.766465,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443980,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MH0.zvFUm0HtuhX4qHU6JCt24Mb6x6PhfwiQbyufkzY4iw4"} 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":"43f9b59fc4f002e4693fb7d57e37c96e"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e3f0e30-4b8c-4fc3-b56a-8a276351d64b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3dca493b-dfad-4070-8cf5-eb4123edd4c1","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.3761563} 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":"43f9b59fc4f002e4693fb7d57e37c96e"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"14fc8113-3450-4203-a8d0-c5f93842619e","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.38152} 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":"43f9b59fc4f002e4693fb7d57e37c96e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e3f0e30-4b8c-4fc3-b56a-8a276351d64b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"da8f6931-70ca-43b2-a537-ecfb2c5b64ff","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.3931134} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"092c2215-56f0-4f80-afe9-88ca2ea709e0","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.3932323} 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":"43f9b59fc4f002e4693fb7d57e37c96e"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e3f0e30-4b8c-4fc3-b56a-8a276351d64b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e3f0e30-4b8c-4fc3-b56a-8a276351d64b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:20.393099594Z"}]},"request_id":"be26dee9-10c8-4e16-ab77-333149893d45","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.3977418} 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":"43f9b59fc4f002e4693fb7d57e37c96e"},"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":"43f9b59fc4f002e4693fb7d57e37c96e","responseTime":43,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/Jul/2024:13:06:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"43f9b59fc4f002e4693fb7d57e37c96e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MH0.zvFUm0HtuhX4qHU6JCt24Mb6x6PhfwiQbyufkzY4iw4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c338f590bb7f8c81a2621b7d209e0eb0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:20Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.67356,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443980,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MH0.zvFUm0HtuhX4qHU6JCt24Mb6x6PhfwiQbyufkzY4iw4"} 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":"c338f590bb7f8c81a2621b7d209e0eb0"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc078cef3-75f7-48da-a19f-adabf9245135","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"04ac4efe-fe45-4054-96fb-9b4d8a41abf3","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.4211473} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c338f590bb7f8c81a2621b7d209e0eb0"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c368bdc0-1df6-4e4f-b5ab-f909458acfdb","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.4264555} 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":"c338f590bb7f8c81a2621b7d209e0eb0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc078cef3-75f7-48da-a19f-adabf9245135","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"bd770162-8ac2-4bb4-a859-90c91cb5238d","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.4435892} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1414c2af-fa8f-4290-9560-3cc28d22f62c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.4436855} 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":"c338f590bb7f8c81a2621b7d209e0eb0"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc078cef3-75f7-48da-a19f-adabf9245135","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc078cef3-75f7-48da-a19f-adabf9245135","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:20.443577081Z"}]},"request_id":"c7ec446e-102f-4575-8c36-b36899971d78","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.4472692} 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":"c338f590bb7f8c81a2621b7d209e0eb0"},"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 44ms","method":"POST","requestID":"c338f590bb7f8c81a2621b7d209e0eb0","responseTime":44,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/Jul/2024:13:06:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c338f590bb7f8c81a2621b7d209e0eb0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MH0.zvFUm0HtuhX4qHU6JCt24Mb6x6PhfwiQbyufkzY4iw4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b28f7711aeea7c49b3a1ee9348a39366","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:20Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.851082,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443980,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MH0.zvFUm0HtuhX4qHU6JCt24Mb6x6PhfwiQbyufkzY4iw4"} 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":"b28f7711aeea7c49b3a1ee9348a39366"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7d32b75e-9ed2-430c-bd92-b6634e43904c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"fc013382-8fdd-4871-bcc3-688004d0aa0e","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.4766567} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b28f7711aeea7c49b3a1ee9348a39366"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7e4bbc43-18ed-4d74-aafd-0a37330b05d7","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.4827645} 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":"b28f7711aeea7c49b3a1ee9348a39366"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7d32b75e-9ed2-430c-bd92-b6634e43904c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"81d2de0f-8065-4dde-a0b5-ccf7aadad2dd","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.4961174} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cf7164ae-bba1-484d-9e2f-5d4d0fcc9f0c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.4964569} 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":"b28f7711aeea7c49b3a1ee9348a39366"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7d32b75e-9ed2-430c-bd92-b6634e43904c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7d32b75e-9ed2-430c-bd92-b6634e43904c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:20.496100413Z"}]},"request_id":"9e2b072a-901a-41cf-89ee-124b66febffe","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.502549} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b28f7711aeea7c49b3a1ee9348a39366"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b28f7711aeea7c49b3a1ee9348a39366"} device-1 | {"level":"info","message":"POST /devices? 201 51ms","method":"POST","requestID":"b28f7711aeea7c49b3a1ee9348a39366","responseTime":51,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MH0.zvFUm0HtuhX4qHU6JCt24Mb6x6PhfwiQbyufkzY4iw4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b74e26a489ec6480a8f7c61ef57225a7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:20Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.645563,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443980,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MH0.zvFUm0HtuhX4qHU6JCt24Mb6x6PhfwiQbyufkzY4iw4"} 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":"b74e26a489ec6480a8f7c61ef57225a7"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F739d334d-5683-43df-a89f-e26c934709f5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2a2c8d7e-1137-4edd-aba5-42d9500b6aaa","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.5318193} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b74e26a489ec6480a8f7c61ef57225a7"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6f448ad4-c15b-40d0-8fe7-c117b6a984de","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.5367215} 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":"b74e26a489ec6480a8f7c61ef57225a7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F739d334d-5683-43df-a89f-e26c934709f5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"284282f8-b68b-4148-a00b-0095799bef5c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.5527096} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e1a95af5-0098-45df-872c-037a4906f024","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.5527172} 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":"b74e26a489ec6480a8f7c61ef57225a7"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F739d334d-5683-43df-a89f-e26c934709f5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F739d334d-5683-43df-a89f-e26c934709f5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:20.552689629Z"}]},"request_id":"5fd6d9da-1b79-4421-9d1e-840200f9dfb4","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.5569472} 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":"b74e26a489ec6480a8f7c61ef57225a7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b74e26a489ec6480a8f7c61ef57225a7"} device-1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"b74e26a489ec6480a8f7c61ef57225a7","responseTime":46,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MH0.zvFUm0HtuhX4qHU6JCt24Mb6x6PhfwiQbyufkzY4iw4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f50bdafd4a336641ee697d530550a862","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:20Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.004449,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443980,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MH0.zvFUm0HtuhX4qHU6JCt24Mb6x6PhfwiQbyufkzY4iw4"} 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":"f50bdafd4a336641ee697d530550a862"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F786ef51a-7c86-4720-b934-5d466bbe5f56","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"36c193c5-918f-4d9a-97be-9dd095ec1f78","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.5849304} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f50bdafd4a336641ee697d530550a862"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2a7e3444-8e67-48ba-a083-20292c5c9c97","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.590725} 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":"f50bdafd4a336641ee697d530550a862"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F786ef51a-7c86-4720-b934-5d466bbe5f56","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"37bde1e7-6033-409e-b6db-2461571b9f66","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.6035619} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5d85c35c-4c9a-425b-afbb-6b9368467b85","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.6038167} 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":"f50bdafd4a336641ee697d530550a862"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F786ef51a-7c86-4720-b934-5d466bbe5f56","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F786ef51a-7c86-4720-b934-5d466bbe5f56","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:20.603540379Z"}]},"request_id":"b2214f9d-2371-4540-a7cd-61aca9de435f","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.6095817} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f50bdafd4a336641ee697d530550a862"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f50bdafd4a336641ee697d530550a862"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"f50bdafd4a336641ee697d530550a862","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MH0.zvFUm0HtuhX4qHU6JCt24Mb6x6PhfwiQbyufkzY4iw4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"74a76ac3be73c151be17fe7b5ad9b8b8","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:20Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.080449,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443980,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MH0.zvFUm0HtuhX4qHU6JCt24Mb6x6PhfwiQbyufkzY4iw4"} 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":"74a76ac3be73c151be17fe7b5ad9b8b8"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d52b478-83a8-4670-ba80-bb9d1df4c04f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"269241a6-030a-4f60-bafe-73392aafda4c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.6433167} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"74a76ac3be73c151be17fe7b5ad9b8b8"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"73fb3614-a313-4a2d-a6ff-f0f711a2952b","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.6513035} 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":"74a76ac3be73c151be17fe7b5ad9b8b8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d52b478-83a8-4670-ba80-bb9d1df4c04f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"b6ce7b1e-3202-4bbe-9d97-6a86d015e443","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.6690574} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9b22483e-058c-4afb-9d6a-e96b4ec44c77","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.669351} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"74a76ac3be73c151be17fe7b5ad9b8b8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":21}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d52b478-83a8-4670-ba80-bb9d1df4c04f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d52b478-83a8-4670-ba80-bb9d1df4c04f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:20.669035714Z"}]},"request_id":"5919d101-321e-4181-bf70-3eb05c48fec0","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.6764042} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"74a76ac3be73c151be17fe7b5ad9b8b8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.066","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"74a76ac3be73c151be17fe7b5ad9b8b8"} device-1 | {"level":"info","message":"POST /devices? 201 59ms","method":"POST","requestID":"74a76ac3be73c151be17fe7b5ad9b8b8","responseTime":59,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MH0.zvFUm0HtuhX4qHU6JCt24Mb6x6PhfwiQbyufkzY4iw4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"d3fe5eb1ca3fd1acf2382b371d79df73","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:20Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.839257,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443980,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MH0.zvFUm0HtuhX4qHU6JCt24Mb6x6PhfwiQbyufkzY4iw4"} 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":"d3fe5eb1ca3fd1acf2382b371d79df73"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e9f8882-56ba-4588-93a5-d48be395acbb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6d1f9987-0ce9-4aa9-8d9f-892c84ec20d3","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.7135212} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d3fe5eb1ca3fd1acf2382b371d79df73"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f1754fc2-4fd5-4fd3-a986-e71ed5c2ccb4","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.720948} 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":"d3fe5eb1ca3fd1acf2382b371d79df73"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e9f8882-56ba-4588-93a5-d48be395acbb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"10e9ec98-40ec-4697-8f6e-52a188d6c1fb","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.7337348} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"42c3220b-99df-4061-8932-09ab1a483f8a","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.7339516} 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":"d3fe5eb1ca3fd1acf2382b371d79df73"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e9f8882-56ba-4588-93a5-d48be395acbb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e9f8882-56ba-4588-93a5-d48be395acbb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:20.733718112Z"}]},"request_id":"d4c6972f-fbe0-41c7-9d23-a0cad8949383","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.7407978} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d3fe5eb1ca3fd1acf2382b371d79df73"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06:20 +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":"d3fe5eb1ca3fd1acf2382b371d79df73"} device-1 | {"level":"info","message":"POST /devices? 201 54ms","method":"POST","requestID":"d3fe5eb1ca3fd1acf2382b371d79df73","responseTime":54,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MH0.zvFUm0HtuhX4qHU6JCt24Mb6x6PhfwiQbyufkzY4iw4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"24a221a4c336aa465c9cdb6283972a45","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:20Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.104082,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443980,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MH0.zvFUm0HtuhX4qHU6JCt24Mb6x6PhfwiQbyufkzY4iw4"} 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":"24a221a4c336aa465c9cdb6283972a45"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F77cad5fe-deb4-4543-85d8-7e4c7b8e2498","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2791b419-449e-427d-a7f2-3c294dc730be","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.7755775} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"24a221a4c336aa465c9cdb6283972a45"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"03c527bc-cb8f-4d38-ad18-6536a6f6f422","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.7842038} 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":"24a221a4c336aa465c9cdb6283972a45"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F77cad5fe-deb4-4543-85d8-7e4c7b8e2498","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"2234aabe-d6a1-449b-8319-1c3973654773","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.7939608} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0047a4cc-3097-4f9f-9fc7-f5d5058da61b","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.7942662} 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":"24a221a4c336aa465c9cdb6283972a45"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F77cad5fe-deb4-4543-85d8-7e4c7b8e2498","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F77cad5fe-deb4-4543-85d8-7e4c7b8e2498","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:20.793938360Z"}]},"request_id":"8b324de8-62f6-4315-a170-a3d74ef43b42","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.801415} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"24a221a4c336aa465c9cdb6283972a45"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"278","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"24a221a4c336aa465c9cdb6283972a45"} device-1 | {"level":"info","message":"POST /devices? 201 52ms","method":"POST","requestID":"24a221a4c336aa465c9cdb6283972a45","responseTime":52,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MH0.zvFUm0HtuhX4qHU6JCt24Mb6x6PhfwiQbyufkzY4iw4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ed2057df17cde22461027a80f829fee9","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:20Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.682969,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443980,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MH0.zvFUm0HtuhX4qHU6JCt24Mb6x6PhfwiQbyufkzY4iw4"} 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":"ed2057df17cde22461027a80f829fee9"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46eea78f-9fdc-4f9a-9cb9-16c2caec7619","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4faea5f9-c83c-40ab-abfc-dfd0dd27f50b","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.8474166} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ed2057df17cde22461027a80f829fee9"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9948effe-8529-494e-8402-79dfdc64a380","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.8555033} 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":"ed2057df17cde22461027a80f829fee9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46eea78f-9fdc-4f9a-9cb9-16c2caec7619","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"698e25d4-d9ea-4dad-be23-dc5c118db5d5","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.8699274} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ab2b159d-9be6-4706-852c-3f73b026c1a5","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.870432} 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":"ed2057df17cde22461027a80f829fee9"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46eea78f-9fdc-4f9a-9cb9-16c2caec7619","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46eea78f-9fdc-4f9a-9cb9-16c2caec7619","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:20.869903704Z"}]},"request_id":"60ce20c8-af2f-4b25-98cf-f2c1d908c1fe","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.8779285} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ed2057df17cde22461027a80f829fee9"},"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 65ms","method":"POST","requestID":"ed2057df17cde22461027a80f829fee9","responseTime":65,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/Jul/2024:13:06:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1069","request_time":"0.072","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ed2057df17cde22461027a80f829fee9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MH0.zvFUm0HtuhX4qHU6JCt24Mb6x6PhfwiQbyufkzY4iw4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"08d0a19e98450fc0e1d939a3482e4204","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:20Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.077266,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443980,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MH0.zvFUm0HtuhX4qHU6JCt24Mb6x6PhfwiQbyufkzY4iw4"} 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":"08d0a19e98450fc0e1d939a3482e4204"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb42e0d86-b3f1-4943-9505-86f1a3bdb234","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a0294bc3-68af-4696-b3a8-7c2c17d8eb65","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.9092798} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"08d0a19e98450fc0e1d939a3482e4204"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"10fa98d3-78a0-448b-ab33-a6e681a43113","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.9168553} 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":"08d0a19e98450fc0e1d939a3482e4204"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb42e0d86-b3f1-4943-9505-86f1a3bdb234","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"31031bee-6a2b-49e4-a4e2-e4618b4b637e","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.9293258} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d1535946-d32f-4673-bad9-dbd1c03c74f7","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.9295225} 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":"08d0a19e98450fc0e1d939a3482e4204"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb42e0d86-b3f1-4943-9505-86f1a3bdb234","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb42e0d86-b3f1-4943-9505-86f1a3bdb234","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:20.929311161Z"}]},"request_id":"d24998e2-a839-4521-af63-2282db788515","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.9353395} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"08d0a19e98450fc0e1d939a3482e4204"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1347","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"08d0a19e98450fc0e1d939a3482e4204"} device-1 | {"level":"info","message":"POST /devices? 201 50ms","method":"POST","requestID":"08d0a19e98450fc0e1d939a3482e4204","responseTime":50,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MH0.zvFUm0HtuhX4qHU6JCt24Mb6x6PhfwiQbyufkzY4iw4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"895b8fddaeb8322ed78a4550dfc792f8","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:20Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.948751,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443980,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MH0.zvFUm0HtuhX4qHU6JCt24Mb6x6PhfwiQbyufkzY4iw4"} 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":"895b8fddaeb8322ed78a4550dfc792f8"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab1c21cf-c0d0-4191-ad4f-b9de5abf70b1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"be087b11-0ef3-4b1e-a801-197885e3f227","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.9730456} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"895b8fddaeb8322ed78a4550dfc792f8"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fed12cd6-07da-402f-a900-c2935b2bfe1b","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.9808204} 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":"895b8fddaeb8322ed78a4550dfc792f8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab1c21cf-c0d0-4191-ad4f-b9de5abf70b1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"ae5d93e7-db09-4210-b018-6f0ac52ebecb","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.9941738} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5adb30c3-724d-45c7-b8b3-b3e85d3d95a0","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443980.994671} 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":"895b8fddaeb8322ed78a4550dfc792f8"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab1c21cf-c0d0-4191-ad4f-b9de5abf70b1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab1c21cf-c0d0-4191-ad4f-b9de5abf70b1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:20.994149922Z"}]},"request_id":"59635db2-ccd7-4184-8edc-007f3b69b8e2","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443981.0042777} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"895b8fddaeb8322ed78a4550dfc792f8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1070","request_time":"0.068","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"895b8fddaeb8322ed78a4550dfc792f8"} device-1 | {"level":"info","message":"POST /devices? 201 64ms","method":"POST","requestID":"895b8fddaeb8322ed78a4550dfc792f8","responseTime":64,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MX0.CXnN1SdUIMSQjMgkWO42XlDHk2HQmq2xixNd8llxbes","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"19559740e7460c164e18c368d301f43b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:21Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.395766,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:21Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/46eea78f-9fdc-4f9a-9cb9-16c2caec7619","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/46eea78f-9fdc-4f9a-9cb9-16c2caec7619","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443981,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MX0.CXnN1SdUIMSQjMgkWO42XlDHk2HQmq2xixNd8llxbes"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"19559740e7460c164e18c368d301f43b"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46eea78f-9fdc-4f9a-9cb9-16c2caec7619","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46eea78f-9fdc-4f9a-9cb9-16c2caec7619","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:20.869903704Z"}]},"request_id":"b41482cb-f186-4f59-ad01-bac5336c5ef0","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443981.039138} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"19559740e7460c164e18c368d301f43b"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"07a18428-e44e-49af-acf9-8bce7c055ca4","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443981.0475407} 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":"19559740e7460c164e18c368d301f43b"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46eea78f-9fdc-4f9a-9cb9-16c2caec7619","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46eea78f-9fdc-4f9a-9cb9-16c2caec7619","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:20.869903704Z"}]},"request_id":"ce7f56a5-85c1-4043-93b9-2a8b3cc2b2da","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443981.061514} 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":"19559740e7460c164e18c368d301f43b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/46eea78f-9fdc-4f9a-9cb9-16c2caec7619? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"19559740e7460c164e18c368d301f43b"} device-1 | {"level":"info","message":"PATCH /devices/46eea78f-9fdc-4f9a-9cb9-16c2caec7619? 200 45ms","method":"PATCH","requestID":"19559740e7460c164e18c368d301f43b","responseTime":45,"status":200,"url":"/devices/46eea78f-9fdc-4f9a-9cb9-16c2caec7619?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MX0.CXnN1SdUIMSQjMgkWO42XlDHk2HQmq2xixNd8llxbes","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c5ae762c22a72fe1019a913c3a3ce860","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:21Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.15043,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:21Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b42e0d86-b3f1-4943-9505-86f1a3bdb234","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/b42e0d86-b3f1-4943-9505-86f1a3bdb234","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443981,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MX0.CXnN1SdUIMSQjMgkWO42XlDHk2HQmq2xixNd8llxbes"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c5ae762c22a72fe1019a913c3a3ce860"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb42e0d86-b3f1-4943-9505-86f1a3bdb234","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb42e0d86-b3f1-4943-9505-86f1a3bdb234","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:20.929311161Z"}]},"request_id":"5d998706-1fa5-4013-a6b5-7b0779595c1a","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443981.0896647} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c5ae762c22a72fe1019a913c3a3ce860"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"77c97a2c-84ea-4dff-bc3b-3bc5867d4539","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443981.0973432} 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":"c5ae762c22a72fe1019a913c3a3ce860"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb42e0d86-b3f1-4943-9505-86f1a3bdb234","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb42e0d86-b3f1-4943-9505-86f1a3bdb234","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:20.929311161Z"}]},"request_id":"6ee833e2-6c3e-4c26-88ec-f94af0cf192e","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443981.1095145} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c5ae762c22a72fe1019a913c3a3ce860"},"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":"08/Jul/2024:13:06:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/b42e0d86-b3f1-4943-9505-86f1a3bdb234? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c5ae762c22a72fe1019a913c3a3ce860"} device-1 | {"level":"info","message":"PATCH /devices/b42e0d86-b3f1-4943-9505-86f1a3bdb234? 200 39ms","method":"PATCH","requestID":"c5ae762c22a72fe1019a913c3a3ce860","responseTime":39,"status":200,"url":"/devices/b42e0d86-b3f1-4943-9505-86f1a3bdb234?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MX0.CXnN1SdUIMSQjMgkWO42XlDHk2HQmq2xixNd8llxbes","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ba5d9cf19440b66c2ec97a6299eee561","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:21Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.316485,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:21Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ab1c21cf-c0d0-4191-ad4f-b9de5abf70b1","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/ab1c21cf-c0d0-4191-ad4f-b9de5abf70b1","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443981,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MX0.CXnN1SdUIMSQjMgkWO42XlDHk2HQmq2xixNd8llxbes"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ba5d9cf19440b66c2ec97a6299eee561"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab1c21cf-c0d0-4191-ad4f-b9de5abf70b1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab1c21cf-c0d0-4191-ad4f-b9de5abf70b1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:20.994149922Z"}]},"request_id":"8159311e-ea27-4a44-aa9c-5804319818e7","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443981.1374612} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ba5d9cf19440b66c2ec97a6299eee561"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"be491488-13a4-485d-b130-65b79f7129ad","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443981.145142} 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":"ba5d9cf19440b66c2ec97a6299eee561"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab1c21cf-c0d0-4191-ad4f-b9de5abf70b1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab1c21cf-c0d0-4191-ad4f-b9de5abf70b1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:20.994149922Z"}]},"request_id":"bd868165-616b-4160-b922-a72ce00729cd","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443981.1572149} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ba5d9cf19440b66c2ec97a6299eee561"},"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":"08/Jul/2024:13:06:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/ab1c21cf-c0d0-4191-ad4f-b9de5abf70b1? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ba5d9cf19440b66c2ec97a6299eee561"} device-1 | {"level":"info","message":"PATCH /devices/ab1c21cf-c0d0-4191-ad4f-b9de5abf70b1? 200 38ms","method":"PATCH","requestID":"ba5d9cf19440b66c2ec97a6299eee561","responseTime":38,"status":200,"url":"/devices/ab1c21cf-c0d0-4191-ad4f-b9de5abf70b1?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MX0.CXnN1SdUIMSQjMgkWO42XlDHk2HQmq2xixNd8llxbes","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f7ef2111788fbea78c97b43ce7250a1a","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:21Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.301493,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/46eea78f-9fdc-4f9a-9cb9-16c2caec7619","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/46eea78f-9fdc-4f9a-9cb9-16c2caec7619","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443981,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MX0.CXnN1SdUIMSQjMgkWO42XlDHk2HQmq2xixNd8llxbes"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f7ef2111788fbea78c97b43ce7250a1a"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46eea78f-9fdc-4f9a-9cb9-16c2caec7619","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46eea78f-9fdc-4f9a-9cb9-16c2caec7619","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:20.869903704Z"}]},"request_id":"fa31b46b-68ad-477c-8a9b-186af9ff722b","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443981.1819165} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f7ef2111788fbea78c97b43ce7250a1a"},"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:58600","level":"info","msg":"Received request.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:21Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.939373,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:21Z"} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Received request.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:21Z"} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Sent response.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.887026,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/78b4d0c3-b319-47eb-a519-86119250f0e6","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/78b4d0c3-b319-47eb-a519-86119250f0e6","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443981,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MX0.CXnN1SdUIMSQjMgkWO42XlDHk2HQmq2xixNd8llxbes"} 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":"f7ef2111788fbea78c97b43ce7250a1a"},"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/b37bcfd5-09e9-40e7-abec-9cadbdd04009","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/b37bcfd5-09e9-40e7-abec-9cadbdd04009","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443981,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MX0.CXnN1SdUIMSQjMgkWO42XlDHk2HQmq2xixNd8llxbes"} 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":"f7ef2111788fbea78c97b43ce7250a1a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:60872","level":"info","msg":"Received request.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:21Z"} authorization-1 | {"client_addr":"127.0.0.1:60878","level":"info","msg":"Received request.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:21Z"} authorization-1 | {"client_addr":"127.0.0.1:60872","level":"info","msg":"Sent response.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.575577,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9e3f0e30-4b8c-4fc3-b56a-8a276351d64b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/9e3f0e30-4b8c-4fc3-b56a-8a276351d64b","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443981,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MX0.CXnN1SdUIMSQjMgkWO42XlDHk2HQmq2xixNd8llxbes"} 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":"f7ef2111788fbea78c97b43ce7250a1a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"client_addr":"127.0.0.1:60878","level":"info","msg":"Sent response.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.331021,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b42e0d86-b3f1-4943-9505-86f1a3bdb234","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/b42e0d86-b3f1-4943-9505-86f1a3bdb234","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443981,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MX0.CXnN1SdUIMSQjMgkWO42XlDHk2HQmq2xixNd8llxbes"} 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":"f7ef2111788fbea78c97b43ce7250a1a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/46eea78f-9fdc-4f9a-9cb9-16c2caec7619? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f7ef2111788fbea78c97b43ce7250a1a"} device-1 | {"level":"info","message":"GET /devices/46eea78f-9fdc-4f9a-9cb9-16c2caec7619? 200 37ms","method":"GET","requestID":"f7ef2111788fbea78c97b43ce7250a1a","responseTime":37,"status":200,"url":"/devices/46eea78f-9fdc-4f9a-9cb9-16c2caec7619?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MX0.CXnN1SdUIMSQjMgkWO42XlDHk2HQmq2xixNd8llxbes","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7b8fff67accab63f13c47714436193bd","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:21Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.353534,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b42e0d86-b3f1-4943-9505-86f1a3bdb234","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/b42e0d86-b3f1-4943-9505-86f1a3bdb234","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443981,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MX0.CXnN1SdUIMSQjMgkWO42XlDHk2HQmq2xixNd8llxbes"} 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":"7b8fff67accab63f13c47714436193bd"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb42e0d86-b3f1-4943-9505-86f1a3bdb234","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb42e0d86-b3f1-4943-9505-86f1a3bdb234","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:20.929311161Z"}]},"request_id":"8731a792-8952-43b0-9269-a415225d45a1","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443981.2240906} 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":"7b8fff67accab63f13c47714436193bd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:21Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.69077,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:21Z"} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Received request.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:21Z"} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Sent response.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.172077,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:21Z"} authorization-1 | {"client_addr":"127.0.0.1:60872","level":"info","msg":"Received request.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:21Z"} authorization-1 | {"client_addr":"127.0.0.1:60872","level":"info","msg":"Sent response.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.561883,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:21Z"} authorization-1 | {"client_addr":"127.0.0.1:60878","level":"info","msg":"Received request.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c078cef3-75f7-48da-a19f-adabf9245135","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/c078cef3-75f7-48da-a19f-adabf9245135","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443981,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MX0.CXnN1SdUIMSQjMgkWO42XlDHk2HQmq2xixNd8llxbes"} 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":"7b8fff67accab63f13c47714436193bd"},"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/7d32b75e-9ed2-430c-bd92-b6634e43904c","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/7d32b75e-9ed2-430c-bd92-b6634e43904c","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443981,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MX0.CXnN1SdUIMSQjMgkWO42XlDHk2HQmq2xixNd8llxbes"} 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":"7b8fff67accab63f13c47714436193bd"},"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/739d334d-5683-43df-a89f-e26c934709f5","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/739d334d-5683-43df-a89f-e26c934709f5","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443981,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MX0.CXnN1SdUIMSQjMgkWO42XlDHk2HQmq2xixNd8llxbes"} 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":"7b8fff67accab63f13c47714436193bd"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:60878","level":"info","msg":"Sent response.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.904477,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/786ef51a-7c86-4720-b934-5d466bbe5f56","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/786ef51a-7c86-4720-b934-5d466bbe5f56","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443981,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MX0.CXnN1SdUIMSQjMgkWO42XlDHk2HQmq2xixNd8llxbes"} 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":"7b8fff67accab63f13c47714436193bd"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:21Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.743549,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ab1c21cf-c0d0-4191-ad4f-b9de5abf70b1","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/ab1c21cf-c0d0-4191-ad4f-b9de5abf70b1","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443981,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MX0.CXnN1SdUIMSQjMgkWO42XlDHk2HQmq2xixNd8llxbes"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7b8fff67accab63f13c47714436193bd"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:60890","level":"info","msg":"Received request.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:21Z"} authorization-1 | {"client_addr":"127.0.0.1:60890","level":"info","msg":"Sent response.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.711207,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/46eea78f-9fdc-4f9a-9cb9-16c2caec7619","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/46eea78f-9fdc-4f9a-9cb9-16c2caec7619","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443981,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MX0.CXnN1SdUIMSQjMgkWO42XlDHk2HQmq2xixNd8llxbes"} 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":"7b8fff67accab63f13c47714436193bd"},"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":"08/Jul/2024:13:06:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b42e0d86-b3f1-4943-9505-86f1a3bdb234? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7b8fff67accab63f13c47714436193bd"} device-1 | {"level":"info","message":"GET /devices/b42e0d86-b3f1-4943-9505-86f1a3bdb234? 200 38ms","method":"GET","requestID":"7b8fff67accab63f13c47714436193bd","responseTime":38,"status":200,"url":"/devices/b42e0d86-b3f1-4943-9505-86f1a3bdb234?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MX0.CXnN1SdUIMSQjMgkWO42XlDHk2HQmq2xixNd8llxbes","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2023d7086895199ccdacfa6e0f499b66","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:21Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.249146,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ab1c21cf-c0d0-4191-ad4f-b9de5abf70b1","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/ab1c21cf-c0d0-4191-ad4f-b9de5abf70b1","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443981,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MX0.CXnN1SdUIMSQjMgkWO42XlDHk2HQmq2xixNd8llxbes"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2023d7086895199ccdacfa6e0f499b66"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab1c21cf-c0d0-4191-ad4f-b9de5abf70b1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab1c21cf-c0d0-4191-ad4f-b9de5abf70b1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:20.994149922Z"}]},"request_id":"523ad3be-bc6d-4657-9231-247da6cf654f","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443981.2702932} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2023d7086895199ccdacfa6e0f499b66"},"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:58600","level":"info","msg":"Received request.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:21Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.732917,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:21Z"} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Received request.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:21Z"} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Sent response.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.594653,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:21Z"} authorization-1 | {"client_addr":"127.0.0.1:60872","level":"info","msg":"Received request.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:21Z"} authorization-1 | {"client_addr":"127.0.0.1:60872","level":"info","msg":"Sent response.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.564703,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5d52b478-83a8-4670-ba80-bb9d1df4c04f","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/5d52b478-83a8-4670-ba80-bb9d1df4c04f","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443981,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MX0.CXnN1SdUIMSQjMgkWO42XlDHk2HQmq2xixNd8llxbes"} 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":"2023d7086895199ccdacfa6e0f499b66"},"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/5e9f8882-56ba-4588-93a5-d48be395acbb","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/5e9f8882-56ba-4588-93a5-d48be395acbb","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443981,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MX0.CXnN1SdUIMSQjMgkWO42XlDHk2HQmq2xixNd8llxbes"} 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":"2023d7086895199ccdacfa6e0f499b66"},"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/77cad5fe-deb4-4543-85d8-7e4c7b8e2498","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/77cad5fe-deb4-4543-85d8-7e4c7b8e2498","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443981,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MX0.CXnN1SdUIMSQjMgkWO42XlDHk2HQmq2xixNd8llxbes"} 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":"2023d7086895199ccdacfa6e0f499b66"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:60878","level":"info","msg":"Received request.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:21Z"} authorization-1 | {"client_addr":"127.0.0.1:60878","level":"info","msg":"Sent response.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.741773,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/46eea78f-9fdc-4f9a-9cb9-16c2caec7619","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/46eea78f-9fdc-4f9a-9cb9-16c2caec7619","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443981,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MX0.CXnN1SdUIMSQjMgkWO42XlDHk2HQmq2xixNd8llxbes"} 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":"2023d7086895199ccdacfa6e0f499b66"},"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":"08/Jul/2024:13:06:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ab1c21cf-c0d0-4191-ad4f-b9de5abf70b1? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.034","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2023d7086895199ccdacfa6e0f499b66"} device-1 | {"level":"info","message":"GET /devices/ab1c21cf-c0d0-4191-ad4f-b9de5abf70b1? 200 28ms","method":"GET","requestID":"2023d7086895199ccdacfa6e0f499b66","responseTime":28,"status":200,"url":"/devices/ab1c21cf-c0d0-4191-ad4f-b9de5abf70b1?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MX0.CXnN1SdUIMSQjMgkWO42XlDHk2HQmq2xixNd8llxbes","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"6b03636bf0c7d5d5e2fa0ee801b0fc48","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:21Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.630088,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:21Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443981,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MX0.CXnN1SdUIMSQjMgkWO42XlDHk2HQmq2xixNd8llxbes"} 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":"6b03636bf0c7d5d5e2fa0ee801b0fc48"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F88bb06f4-c193-45d3-a09b-74ef023b8b9c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a10e82ab-08a4-4d34-8ced-4ab77004462c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443981.3271751} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6b03636bf0c7d5d5e2fa0ee801b0fc48"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a51b1ab2-0323-47ad-aeda-8b63498f16d2","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443981.3347943} 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":"6b03636bf0c7d5d5e2fa0ee801b0fc48"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F88bb06f4-c193-45d3-a09b-74ef023b8b9c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"cec650d4-288b-4cfc-be0e-af998321db0c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443981.348756} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b3f2541a-873e-4e75-b81b-a75cd672308f","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443981.349213} 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":"6b03636bf0c7d5d5e2fa0ee801b0fc48"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F88bb06f4-c193-45d3-a09b-74ef023b8b9c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F88bb06f4-c193-45d3-a09b-74ef023b8b9c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:21.348723821Z"}]},"request_id":"ab07a325-f208-450e-bc1d-db262a20b138","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443981.3556929} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6b03636bf0c7d5d5e2fa0ee801b0fc48"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"284","request_time":"0.065","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6b03636bf0c7d5d5e2fa0ee801b0fc48"} device-1 | {"level":"info","message":"POST /devices? 201 57ms","method":"POST","requestID":"6b03636bf0c7d5d5e2fa0ee801b0fc48","responseTime":57,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MX0.CXnN1SdUIMSQjMgkWO42XlDHk2HQmq2xixNd8llxbes","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1bdc960d4cdcfdd9faab209b38ed43bf","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:21Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.252031,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:21Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443981,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MX0.CXnN1SdUIMSQjMgkWO42XlDHk2HQmq2xixNd8llxbes"} 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":"1bdc960d4cdcfdd9faab209b38ed43bf"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb6d5789c-adbc-46eb-8d75-4b86dd98adef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"46780b1a-44f3-4cc9-9e16-0c244284dd1d","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443981.389307} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1bdc960d4cdcfdd9faab209b38ed43bf"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9364134e-7b9a-4d9c-8123-9e78ceb2fefe","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443981.3975172} 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":"1bdc960d4cdcfdd9faab209b38ed43bf"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb6d5789c-adbc-46eb-8d75-4b86dd98adef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"aea4f564-fb9a-4ca9-b740-412085e54ffd","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443981.408365} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f8dad482-285b-472b-b6c8-0ae8242e08d1","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443981.4084656} 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":"1bdc960d4cdcfdd9faab209b38ed43bf"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb6d5789c-adbc-46eb-8d75-4b86dd98adef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb6d5789c-adbc-46eb-8d75-4b86dd98adef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:21.408342988Z"}]},"request_id":"21554008-b12c-46fc-bc7b-d54ae1ec1c82","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443981.4153283} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1bdc960d4cdcfdd9faab209b38ed43bf"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"545","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1bdc960d4cdcfdd9faab209b38ed43bf"} device-1 | {"level":"info","message":"POST /devices? 201 52ms","method":"POST","requestID":"1bdc960d4cdcfdd9faab209b38ed43bf","responseTime":52,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MX0.CXnN1SdUIMSQjMgkWO42XlDHk2HQmq2xixNd8llxbes","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e2acc968c6c453c5f7a2c2d9dd96c3d4","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:21Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.850401,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:21Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443981,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4MX0.CXnN1SdUIMSQjMgkWO42XlDHk2HQmq2xixNd8llxbes"} 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":"e2acc968c6c453c5f7a2c2d9dd96c3d4"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8c52886-3005-45f0-8c25-ed5b72f89929","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"50431457-1d2f-475c-aaa0-270df7dea9be","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443981.4543567} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e2acc968c6c453c5f7a2c2d9dd96c3d4"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4d9a95f8-8d4f-4704-8c0b-2f30b440bc82","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443981.4629495} 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":"e2acc968c6c453c5f7a2c2d9dd96c3d4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8c52886-3005-45f0-8c25-ed5b72f89929","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"79b4af24-4021-451b-b10a-caf4300aaad8","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443981.4742177} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3b08bfe1-51ba-4c68-8681-c2a3f10cd36f","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443981.474467} 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":"e2acc968c6c453c5f7a2c2d9dd96c3d4"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8c52886-3005-45f0-8c25-ed5b72f89929","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8c52886-3005-45f0-8c25-ed5b72f89929","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:21.474198754Z"}]},"request_id":"f7ad9ed9-75a2-475a-bbd8-fe79ca673ad2","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443981.4810448} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e2acc968c6c453c5f7a2c2d9dd96c3d4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06:21 +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":"e2acc968c6c453c5f7a2c2d9dd96c3d4"} device-1 | {"level":"info","message":"POST /devices? 201 59ms","method":"POST","requestID":"e2acc968c6c453c5f7a2c2d9dd96c3d4","responseTime":59,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d0f93fafc44b6aae785f6c8e616fbb35","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:06:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/88bb06f4-c193-45d3-a09b-74ef023b8b9c/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":"d0f93fafc44b6aae785f6c8e616fbb35"} device-1 | {"level":"info","message":"OPTIONS /devices/88bb06f4-c193-45d3-a09b-74ef023b8b9c/websocket 200 1ms","method":"OPTIONS","requestID":"d0f93fafc44b6aae785f6c8e616fbb35","responseTime":1,"status":200,"url":"/devices/88bb06f4-c193-45d3-a09b-74ef023b8b9c/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4M30.GihOeHcFU3Q2CZKqH9LOS_uCaTR269p0pKIvLxRlmwo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"be3d66e9ea089ff87423c15fd6f5e216","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:23Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.243195,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:23Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/88bb06f4-c193-45d3-a09b-74ef023b8b9c","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/88bb06f4-c193-45d3-a09b-74ef023b8b9c","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443983,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4M30.GihOeHcFU3Q2CZKqH9LOS_uCaTR269p0pKIvLxRlmwo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"be3d66e9ea089ff87423c15fd6f5e216"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"fe816d5e2b5db3fe2f3d718900dae6b2","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:06:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/d8c52886-3005-45f0-8c25-ed5b72f89929/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":"fe816d5e2b5db3fe2f3d718900dae6b2"} device-1 | {"level":"info","message":"OPTIONS /devices/d8c52886-3005-45f0-8c25-ed5b72f89929/websocket 200 1ms","method":"OPTIONS","requestID":"fe816d5e2b5db3fe2f3d718900dae6b2","responseTime":1,"status":200,"url":"/devices/d8c52886-3005-45f0-8c25-ed5b72f89929/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4M30.GihOeHcFU3Q2CZKqH9LOS_uCaTR269p0pKIvLxRlmwo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"25b3661457e8720419d64e9a436fb748","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/88bb06f4-c193-45d3-a09b-74ef023b8b9c/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":"be3d66e9ea089ff87423c15fd6f5e216"} device-1 | {"level":"info","message":"POST /devices/88bb06f4-c193-45d3-a09b-74ef023b8b9c/websocket 200 26ms","method":"POST","requestID":"be3d66e9ea089ff87423c15fd6f5e216","responseTime":26,"status":200,"url":"/devices/88bb06f4-c193-45d3-a09b-74ef023b8b9c/websocket"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:23Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.035268,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:23Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d8c52886-3005-45f0-8c25-ed5b72f89929","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/d8c52886-3005-45f0-8c25-ed5b72f89929","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443983,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4M30.GihOeHcFU3Q2CZKqH9LOS_uCaTR269p0pKIvLxRlmwo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"25b3661457e8720419d64e9a436fb748"},"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":"08/Jul/2024:13:06:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d8c52886-3005-45f0-8c25-ed5b72f89929/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":"25b3661457e8720419d64e9a436fb748"} device-1 | {"level":"info","message":"POST /devices/d8c52886-3005-45f0-8c25-ed5b72f89929/websocket 200 24ms","method":"POST","requestID":"25b3661457e8720419d64e9a436fb748","responseTime":24,"status":200,"url":"/devices/d8c52886-3005-45f0-8c25-ed5b72f89929/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/88bb06f4-c193-45d3-a09b-74ef023b8b9c' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/d8c52886-3005-45f0-8c25-ed5b72f89929' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4M30.GihOeHcFU3Q2CZKqH9LOS_uCaTR269p0pKIvLxRlmwo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a261a16d79385934651f78c4bccb30af","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:23Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.677258,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d8c52886-3005-45f0-8c25-ed5b72f89929","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/d8c52886-3005-45f0-8c25-ed5b72f89929","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443983,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4M30.GihOeHcFU3Q2CZKqH9LOS_uCaTR269p0pKIvLxRlmwo"} 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":"a261a16d79385934651f78c4bccb30af"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8c52886-3005-45f0-8c25-ed5b72f89929","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8c52886-3005-45f0-8c25-ed5b72f89929","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:21.474198754Z"}]},"request_id":"bde900f4-7ee9-470b-8fb1-0e13b5408cdc","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443983.5415971} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a261a16d79385934651f78c4bccb30af"},"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":"08/Jul/2024:13:06:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d8c52886-3005-45f0-8c25-ed5b72f89929? 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":"a261a16d79385934651f78c4bccb30af"} device-1 | {"level":"info","message":"GET /devices/d8c52886-3005-45f0-8c25-ed5b72f89929? 200 12ms","method":"GET","requestID":"a261a16d79385934651f78c4bccb30af","responseTime":12,"status":200,"url":"/devices/d8c52886-3005-45f0-8c25-ed5b72f89929?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4M30.GihOeHcFU3Q2CZKqH9LOS_uCaTR269p0pKIvLxRlmwo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a3a94c28e5c4494b6c60d332ff184778","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:58600","level":"info","msg":"Received request.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:23Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.052054,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:23Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443983,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4M30.GihOeHcFU3Q2CZKqH9LOS_uCaTR269p0pKIvLxRlmwo"} 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":"a3a94c28e5c4494b6c60d332ff184778"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bd220050-f074-4180-9bff-cb404c9eae41"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bd220050-f074-4180-9bff-cb404c9eae41"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bd220050-f074-4180-9bff-cb404c9eae41"},"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:58600","level":"info","msg":"Received request.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:23Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.038399,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b6d5789c-adbc-46eb-8d75-4b86dd98adef","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/b6d5789c-adbc-46eb-8d75-4b86dd98adef","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443983,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4M30.GihOeHcFU3Q2CZKqH9LOS_uCaTR269p0pKIvLxRlmwo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e07e2960-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Received request.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:23Z"} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Sent response.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.121528,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d8c52886-3005-45f0-8c25-ed5b72f89929","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/d8c52886-3005-45f0-8c25-ed5b72f89929","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443983,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4M30.GihOeHcFU3Q2CZKqH9LOS_uCaTR269p0pKIvLxRlmwo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e07e9e90-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb6d5789c-adbc-46eb-8d75-4b86dd98adef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb6d5789c-adbc-46eb-8d75-4b86dd98adef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:21.408342988Z"}]},"request_id":"3dcb84a4-1a9e-4088-84b2-4e8b2b789c45","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443983.6200533} 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":"e07e2960-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8c52886-3005-45f0-8c25-ed5b72f89929","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8c52886-3005-45f0-8c25-ed5b72f89929","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:21.474198754Z"}]},"request_id":"f3759488-90b3-4281-827d-306e6ea5083f","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443983.6215682} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e07e9e90-3d2a-11ef-b23c-0125361f42d1"},"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/d8c52886-3005-45f0-8c25-ed5b72f89929? 200 22ms","method":"GET","requestID":"e07e9e90-3d2a-11ef-b23c-0125361f42d1","responseTime":22,"status":200,"url":"/devices/d8c52886-3005-45f0-8c25-ed5b72f89929?"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:23Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.12621,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/88bb06f4-c193-45d3-a09b-74ef023b8b9c","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/88bb06f4-c193-45d3-a09b-74ef023b8b9c","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443983,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4M30.GihOeHcFU3Q2CZKqH9LOS_uCaTR269p0pKIvLxRlmwo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e07e2960-3d2a-11ef-b23c-0125361f42d1"},"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/b6d5789c-adbc-46eb-8d75-4b86dd98adef? 200 31ms","method":"GET","requestID":"e07e2960-3d2a-11ef-b23c-0125361f42d1","responseTime":31,"status":200,"url":"/devices/b6d5789c-adbc-46eb-8d75-4b86dd98adef?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bd220050-f074-4180-9bff-cb404c9eae41"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bd220050-f074-4180-9bff-cb404c9eae41"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bd220050-f074-4180-9bff-cb404c9eae41"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bd220050-f074-4180-9bff-cb404c9eae41"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bd220050-f074-4180-9bff-cb404c9eae41"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bd220050-f074-4180-9bff-cb404c9eae41"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bd220050-f074-4180-9bff-cb404c9eae41"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bd220050-f074-4180-9bff-cb404c9eae41"},"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/bd220050-f074-4180-9bff-cb404c9eae41"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:23Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.725655,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:23Z"} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Received request.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/88bb06f4-c193-45d3-a09b-74ef023b8b9c","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/88bb06f4-c193-45d3-a09b-74ef023b8b9c","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443983,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4M30.GihOeHcFU3Q2CZKqH9LOS_uCaTR269p0pKIvLxRlmwo"} 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":"e08c0c10-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Sent response.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.628168,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d8c52886-3005-45f0-8c25-ed5b72f89929","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/d8c52886-3005-45f0-8c25-ed5b72f89929","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443983,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4M30.GihOeHcFU3Q2CZKqH9LOS_uCaTR269p0pKIvLxRlmwo"} 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":"e08c5a30-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:23Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F88bb06f4-c193-45d3-a09b-74ef023b8b9c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"48d500f2-cf86-4dbd-9006-ac36d4d95a2e","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443983.7076528} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.494178,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/88bb06f4-c193-45d3-a09b-74ef023b8b9c","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/88bb06f4-c193-45d3-a09b-74ef023b8b9c","object_type":"device","rebac_allow":false,"scope_allow":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":"e08c8140-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F88bb06f4-c193-45d3-a09b-74ef023b8b9c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F88bb06f4-c193-45d3-a09b-74ef023b8b9c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:21.348723821Z"}]},"request_id":"29ba0a79-a8a8-427c-9ad2-909c4113abd6","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443983.710429} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8c52886-3005-45f0-8c25-ed5b72f89929","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8c52886-3005-45f0-8c25-ed5b72f89929","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:21.474198754Z"}]},"request_id":"50c3b965-543a-4334-8d7a-9d6243e561d1","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443983.7117002} 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":"e08c0c10-3d2a-11ef-b23c-0125361f42d1"},"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":"e08c5a30-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fbd220050-f074-4180-9bff-cb404c9eae41#owner@http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fbd220050-f074-4180-9bff-cb404c9eae41","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"200b18b4-bfee-4f4a-b16f-ce80b31442d6","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443983.7189605} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a069bbb1-e0a5-4d83-bc92-0b5498853f90","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443983.7193282} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/88bb06f4-c193-45d3-a09b-74ef023b8b9c/signaling 200 22ms","method":"POST","requestID":"e08c8140-3d2a-11ef-b23c-0125361f42d1","responseTime":22,"status":200,"url":"/devices/88bb06f4-c193-45d3-a09b-74ef023b8b9c/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a3a94c28e5c4494b6c60d332ff184778"},"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/88bb06f4-c193-45d3-a09b-74ef023b8b9c? 200 26ms","method":"GET","requestID":"e08c0c10-3d2a-11ef-b23c-0125361f42d1","responseTime":26,"status":200,"url":"/devices/88bb06f4-c193-45d3-a09b-74ef023b8b9c?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/d8c52886-3005-45f0-8c25-ed5b72f89929? 200 25ms","method":"GET","requestID":"e08c5a30-3d2a-11ef-b23c-0125361f42d1","responseTime":25,"status":200,"url":"/devices/d8c52886-3005-45f0-8c25-ed5b72f89929?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:23Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8c52886-3005-45f0-8c25-ed5b72f89929","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6c58d570-ba0c-4eae-ae55-418192fe1401","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443983.7345803} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Received request.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:23Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.023213,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:23Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/bd220050-f074-4180-9bff-cb404c9eae41","user":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d8c52886-3005-45f0-8c25-ed5b72f89929","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d8c52886-3005-45f0-8c25-ed5b72f89929","object_type":"device","rebac_allow":false,"scope_allow":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":"e090c700-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} gateway-1 | {"time_local":"08/Jul/2024:13:06:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.188","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a3a94c28e5c4494b6c60d332ff184778"} experiment-1 | {"level":"info","message":"POST /experiments? 201 182ms","method":"POST","requestID":"a3a94c28e5c4494b6c60d332ff184778","responseTime":182,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F88bb06f4-c193-45d3-a09b-74ef023b8b9c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5f82bcd1-7323-4f3e-8dfe-1639a1d84587","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443983.7372346} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Sent response.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.581585,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:23Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/d8c52886-3005-45f0-8c25-ed5b72f89929/signaling 200 14ms","method":"POST","requestID":"e090c700-3d2a-11ef-b23c-0125361f42d1","responseTime":14,"status":200,"url":"/devices/d8c52886-3005-45f0-8c25-ed5b72f89929/signaling"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/88bb06f4-c193-45d3-a09b-74ef023b8b9c","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/88bb06f4-c193-45d3-a09b-74ef023b8b9c","object_type":"device","rebac_allow":false,"scope_allow":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":"e0913c30-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4M30.GihOeHcFU3Q2CZKqH9LOS_uCaTR269p0pKIvLxRlmwo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fc5ea87318cdbd499b781fed67792294","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/88bb06f4-c193-45d3-a09b-74ef023b8b9c/signaling 200 16ms","method":"POST","requestID":"e0913c30-3d2a-11ef-b23c-0125361f42d1","responseTime":16,"status":200,"url":"/devices/88bb06f4-c193-45d3-a09b-74ef023b8b9c/signaling"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:23Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.935715,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/88bb06f4-c193-45d3-a09b-74ef023b8b9c","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/88bb06f4-c193-45d3-a09b-74ef023b8b9c","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443983,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4M30.GihOeHcFU3Q2CZKqH9LOS_uCaTR269p0pKIvLxRlmwo"} 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":"fc5ea87318cdbd499b781fed67792294"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:23Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F88bb06f4-c193-45d3-a09b-74ef023b8b9c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F88bb06f4-c193-45d3-a09b-74ef023b8b9c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:21.348723821Z"}]},"request_id":"3fd6e9ba-2b27-4c82-8cb1-14b53445be06","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443983.7558708} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8c52886-3005-45f0-8c25-ed5b72f89929","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e09b14dd-5576-429c-a59b-f0af40f9071d","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443983.7560306} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fc5ea87318cdbd499b781fed67792294"},"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:58600","level":"info","msg":"Sent response.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.177579,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d8c52886-3005-45f0-8c25-ed5b72f89929","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d8c52886-3005-45f0-8c25-ed5b72f89929","object_type":"device","rebac_allow":false,"scope_allow":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":"e0942260-3d2a-11ef-b23c-0125361f42d1"},"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":"08/Jul/2024:13:06:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/88bb06f4-c193-45d3-a09b-74ef023b8b9c? HTTP/1.1","status": "200","body_bytes_sent":"283","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fc5ea87318cdbd499b781fed67792294"} device-1 | {"level":"info","message":"GET /devices/88bb06f4-c193-45d3-a09b-74ef023b8b9c? 200 17ms","method":"GET","requestID":"fc5ea87318cdbd499b781fed67792294","responseTime":17,"status":200,"url":"/devices/88bb06f4-c193-45d3-a09b-74ef023b8b9c?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/d8c52886-3005-45f0-8c25-ed5b72f89929/signaling 200 12ms","method":"POST","requestID":"e0942260-3d2a-11ef-b23c-0125361f42d1","responseTime":12,"status":200,"url":"/devices/d8c52886-3005-45f0-8c25-ed5b72f89929/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bd220050-f074-4180-9bff-cb404c9eae41"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bd220050-f074-4180-9bff-cb404c9eae41"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"ef42fa9d-19d7-4067-8571-021a9cdc3792"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"d83e8dc0-d693-44d3-93ba-482a52bbf363"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"e934d553-8d0d-417d-8bcb-9be00a3a16dc"}]},"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/d8c52886-3005-45f0-8c25-ed5b72f89929"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/88bb06f4-c193-45d3-a09b-74ef023b8b9c"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4M30.GihOeHcFU3Q2CZKqH9LOS_uCaTR269p0pKIvLxRlmwo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8ec0e6f63e3fb89c00c547f1ea9b56a6","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:58600","level":"info","msg":"Received request.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:23Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.691382,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:23Z"} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Received request.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:23Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443983,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4M30.GihOeHcFU3Q2CZKqH9LOS_uCaTR269p0pKIvLxRlmwo"} 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":"e0969360-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Sent response.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.476799,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d8c52886-3005-45f0-8c25-ed5b72f89929","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/d8c52886-3005-45f0-8c25-ed5b72f89929","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443983,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4M30.GihOeHcFU3Q2CZKqH9LOS_uCaTR269p0pKIvLxRlmwo"} 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":"8ec0e6f63e3fb89c00c547f1ea9b56a6"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8c52886-3005-45f0-8c25-ed5b72f89929","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8c52886-3005-45f0-8c25-ed5b72f89929","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:21.474198754Z"}]},"request_id":"78111f13-6b3c-4007-8414-8f9baf4abbec","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443983.7751775} 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":"8ec0e6f63e3fb89c00c547f1ea9b56a6"},"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":"08/Jul/2024:13:06:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d8c52886-3005-45f0-8c25-ed5b72f89929? 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":"8ec0e6f63e3fb89c00c547f1ea9b56a6"} device-1 | {"level":"info","message":"GET /devices/d8c52886-3005-45f0-8c25-ed5b72f89929? 200 10ms","method":"GET","requestID":"8ec0e6f63e3fb89c00c547f1ea9b56a6","responseTime":10,"status":200,"url":"/devices/d8c52886-3005-45f0-8c25-ed5b72f89929?"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","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%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"8283c94c-0062-4fc6-b52e-9ec96a1e1fb5","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443983.7789037} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5d9df5d8-a221-4651-acca-aa6a4f121ea1","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443983.77909} 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":"e0969360-3d2a-11ef-b23c-0125361f42d1"},"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/081e68d5-dc31-4dc1-92f9-fcc306a53a99'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/081e68d5-dc31-4dc1-92f9-fcc306a53a99'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 27ms","method":"POST","requestID":"e0969360-3d2a-11ef-b23c-0125361f42d1","responseTime":27,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bd220050-f074-4180-9bff-cb404c9eae41"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:23Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F88bb06f4-c193-45d3-a09b-74ef023b8b9c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"36bb8c65-0b64-45c7-80a1-dbdb48ab3a5c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443983.8282716} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.294618,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/88bb06f4-c193-45d3-a09b-74ef023b8b9c","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/88bb06f4-c193-45d3-a09b-74ef023b8b9c","object_type":"device","rebac_allow":false,"scope_allow":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":"e09f6d00-3d2a-11ef-b23c-0125361f42d1"},"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/88bb06f4-c193-45d3-a09b-74ef023b8b9c/signaling 200 9ms","method":"POST","requestID":"e09f6d00-3d2a-11ef-b23c-0125361f42d1","responseTime":9,"status":200,"url":"/devices/88bb06f4-c193-45d3-a09b-74ef023b8b9c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:23Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8c52886-3005-45f0-8c25-ed5b72f89929","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"92d14c13-87a6-47b4-893a-61600b14087c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443983.8398812} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.298331,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d8c52886-3005-45f0-8c25-ed5b72f89929","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d8c52886-3005-45f0-8c25-ed5b72f89929","object_type":"device","rebac_allow":false,"scope_allow":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":"e0a11ab0-3d2a-11ef-b23c-0125361f42d1"},"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/d8c52886-3005-45f0-8c25-ed5b72f89929/signaling 200 9ms","method":"POST","requestID":"e0a11ab0-3d2a-11ef-b23c-0125361f42d1","responseTime":9,"status":200,"url":"/devices/d8c52886-3005-45f0-8c25-ed5b72f89929/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/d8c52886-3005-45f0-8c25-ed5b72f89929'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/d8c52886-3005-45f0-8c25-ed5b72f89929'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/88bb06f4-c193-45d3-a09b-74ef023b8b9c'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/081e68d5-dc31-4dc1-92f9-fcc306a53a99' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"081e68d5-dc31-4dc1-92f9-fcc306a53a99","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":"49b3d494e972647d438b704d4e14ca70","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/d8c52886-3005-45f0-8c25-ed5b72f89929"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/88bb06f4-c193-45d3-a09b-74ef023b8b9c"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/081e68d5-dc31-4dc1-92f9-fcc306a53a99"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 10ms","method":"POST","requestID":"49b3d494e972647d438b704d4e14ca70","responseTime":10,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:06:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"49b3d494e972647d438b704d4e14ca70"} device-1 | {"data":{"peerconnection":"081e68d5-dc31-4dc1-92f9-fcc306a53a99","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"081e68d5-dc31-4dc1-92f9-fcc306a53a99","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/081e68d5-dc31-4dc1-92f9-fcc306a53a99' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"081e68d5-dc31-4dc1-92f9-fcc306a53a99","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":"27d621ecb292ee41c1bed7884fec62bd","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/d8c52886-3005-45f0-8c25-ed5b72f89929"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/88bb06f4-c193-45d3-a09b-74ef023b8b9c"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/081e68d5-dc31-4dc1-92f9-fcc306a53a99"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:23Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F081e68d5-dc31-4dc1-92f9-fcc306a53a99","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a1c33973-1f9a-487b-8840-fb172a17704a","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443983.9210317} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.091641,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/081e68d5-dc31-4dc1-92f9-fcc306a53a99","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/081e68d5-dc31-4dc1-92f9-fcc306a53a99","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":"e0ad9dd0-3d2a-11ef-b23c-0125361f42d1"},"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/081e68d5-dc31-4dc1-92f9-fcc306a53a99 200 7ms","method":"GET","requestID":"e0ad9dd0-3d2a-11ef-b23c-0125361f42d1","responseTime":7,"status":200,"url":"/peerconnections/081e68d5-dc31-4dc1-92f9-fcc306a53a99"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 33ms","method":"POST","requestID":"27d621ecb292ee41c1bed7884fec62bd","responseTime":33,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:06:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch","requestID":"27d621ecb292ee41c1bed7884fec62bd"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:23Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8c52886-3005-45f0-8c25-ed5b72f89929","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e2338f3c-2cac-4c9b-bf5f-6a44b9afe196","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443983.9503107} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.074772,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d8c52886-3005-45f0-8c25-ed5b72f89929","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d8c52886-3005-45f0-8c25-ed5b72f89929","object_type":"device","rebac_allow":false,"scope_allow":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":"e0b20aa0-3d2a-11ef-b23c-0125361f42d1"},"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/d8c52886-3005-45f0-8c25-ed5b72f89929/signaling 200 8ms","method":"POST","requestID":"e0b20aa0-3d2a-11ef-b23c-0125361f42d1","responseTime":8,"status":200,"url":"/devices/d8c52886-3005-45f0-8c25-ed5b72f89929/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:23Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F88bb06f4-c193-45d3-a09b-74ef023b8b9c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8e83fc26-5625-45c8-b188-6d973f2f3cec","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443983.961564} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.931674,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/88bb06f4-c193-45d3-a09b-74ef023b8b9c","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/88bb06f4-c193-45d3-a09b-74ef023b8b9c","object_type":"device","rebac_allow":false,"scope_allow":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":"e0b39140-3d2a-11ef-b23c-0125361f42d1"},"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/88bb06f4-c193-45d3-a09b-74ef023b8b9c/signaling 200 9ms","method":"POST","requestID":"e0b39140-3d2a-11ef-b23c-0125361f42d1","responseTime":9,"status":200,"url":"/devices/88bb06f4-c193-45d3-a09b-74ef023b8b9c/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4M30.GihOeHcFU3Q2CZKqH9LOS_uCaTR269p0pKIvLxRlmwo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a7f0aaeaa1dfc1c71814d62c3ea0fdda","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/bd220050-f074-4180-9bff-cb404c9eae41"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:23Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.636271,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/bd220050-f074-4180-9bff-cb404c9eae41","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/bd220050-f074-4180-9bff-cb404c9eae41","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443983,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4M30.GihOeHcFU3Q2CZKqH9LOS_uCaTR269p0pKIvLxRlmwo"} 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":"a7f0aaeaa1dfc1c71814d62c3ea0fdda"},"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/bd220050-f074-4180-9bff-cb404c9eae41"} gateway-1 | {"time_local":"08/Jul/2024:13:06:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/bd220050-f074-4180-9bff-cb404c9eae41 HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a7f0aaeaa1dfc1c71814d62c3ea0fdda"} experiment-1 | {"level":"info","message":"GET /experiments/bd220050-f074-4180-9bff-cb404c9eae41 200 11ms","method":"GET","requestID":"a7f0aaeaa1dfc1c71814d62c3ea0fdda","responseTime":11,"status":200,"url":"/experiments/bd220050-f074-4180-9bff-cb404c9eae41"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4NH0.HPuEIS18vuuO02v-gc1pvmRBeHUoban4W0qC40EGsy0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d4f561fa3e06bd62a74dade815b259dc","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/bd220050-f074-4180-9bff-cb404c9eae41"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:24Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.137106,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:24Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/bd220050-f074-4180-9bff-cb404c9eae41","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/bd220050-f074-4180-9bff-cb404c9eae41","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443984,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4NH0.HPuEIS18vuuO02v-gc1pvmRBeHUoban4W0qC40EGsy0"} 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":"d4f561fa3e06bd62a74dade815b259dc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bd220050-f074-4180-9bff-cb404c9eae41"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:24Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.276889,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:24Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/081e68d5-dc31-4dc1-92f9-fcc306a53a99","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:http://localhost/peerconnections/081e68d5-dc31-4dc1-92f9-fcc306a53a99","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443984,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4NH0.HPuEIS18vuuO02v-gc1pvmRBeHUoban4W0qC40EGsy0"} 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":"e0be1890-3d2a-11ef-b23c-0125361f42d1"},"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/081e68d5-dc31-4dc1-92f9-fcc306a53a99' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/081e68d5-dc31-4dc1-92f9-fcc306a53a99' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"081e68d5-dc31-4dc1-92f9-fcc306a53a99","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":"7ff3f16667b7706b5c339f9751bc3a05","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F081e68d5-dc31-4dc1-92f9-fcc306a53a99': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F081e68d5-dc31-4dc1-92f9-fcc306a53a99","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"061754e0-7334-4707-b248-7c3e785b435a","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443984.0479019} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e9db14d3-7ca4-4024-b9ec-6ed5da5d25f1","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443984.0481608} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b6693e6060ca2c594ea278967f188743","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/d8c52886-3005-45f0-8c25-ed5b72f89929"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/88bb06f4-c193-45d3-a09b-74ef023b8b9c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/081e68d5-dc31-4dc1-92f9-fcc306a53a99"}}},"level":"info","message":"received a callback"} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e0be1890-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/d8c52886-3005-45f0-8c25-ed5b72f89929"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/88bb06f4-c193-45d3-a09b-74ef023b8b9c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/081e68d5-dc31-4dc1-92f9-fcc306a53a99"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"081e68d5-dc31-4dc1-92f9-fcc306a53a99","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/081e68d5-dc31-4dc1-92f9-fcc306a53a99 204 44ms","method":"DELETE","requestID":"e0be1890-3d2a-11ef-b23c-0125361f42d1","responseTime":44,"status":204,"url":"/peerconnections/081e68d5-dc31-4dc1-92f9-fcc306a53a99"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bd220050-f074-4180-9bff-cb404c9eae41"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:24Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8c52886-3005-45f0-8c25-ed5b72f89929","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dc56a8a6-2b7b-4c11-a1f4-2e5b951e9ac0","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443984.0996578} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.450608,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d8c52886-3005-45f0-8c25-ed5b72f89929","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d8c52886-3005-45f0-8c25-ed5b72f89929","object_type":"device","rebac_allow":false,"scope_allow":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":"e0c803a0-3d2a-11ef-b23c-0125361f42d1"},"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/d8c52886-3005-45f0-8c25-ed5b72f89929/signaling 200 19ms","method":"POST","requestID":"e0c803a0-3d2a-11ef-b23c-0125361f42d1","responseTime":19,"status":200,"url":"/devices/d8c52886-3005-45f0-8c25-ed5b72f89929/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:24Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F88bb06f4-c193-45d3-a09b-74ef023b8b9c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"80ce5493-261b-4d67-86da-45f65a5805b5","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443984.1209307} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.836283,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/88bb06f4-c193-45d3-a09b-74ef023b8b9c","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/88bb06f4-c193-45d3-a09b-74ef023b8b9c","object_type":"device","rebac_allow":false,"scope_allow":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":"e0cb8610-3d2a-11ef-b23c-0125361f42d1"},"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/88bb06f4-c193-45d3-a09b-74ef023b8b9c/signaling 200 16ms","method":"POST","requestID":"e0cb8610-3d2a-11ef-b23c-0125361f42d1","responseTime":16,"status":200,"url":"/devices/88bb06f4-c193-45d3-a09b-74ef023b8b9c/signaling"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fbd220050-f074-4180-9bff-cb404c9eae41': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fbd220050-f074-4180-9bff-cb404c9eae41","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"c2d9d847-02ec-4749-8be3-10231026b2cd","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443984.2494075} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"36252320-5ce3-4f9d-bc8b-ce174978f093","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443984.249773} authorization-1 | {"level":"info","message":"POST /relations/update 200 164ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d4f561fa3e06bd62a74dade815b259dc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":164}} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/bd220050-f074-4180-9bff-cb404c9eae41"} gateway-1 | {"time_local":"08/Jul/2024:13:06:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/bd220050-f074-4180-9bff-cb404c9eae41 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.328","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d4f561fa3e06bd62a74dade815b259dc"} experiment-1 | {"level":"info","message":"DELETE /experiments/bd220050-f074-4180-9bff-cb404c9eae41 204 324ms","method":"DELETE","requestID":"d4f561fa3e06bd62a74dade815b259dc","responseTime":324,"status":204,"url":"/experiments/bd220050-f074-4180-9bff-cb404c9eae41"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 292ms","method":"POST","requestID":"7ff3f16667b7706b5c339f9751bc3a05","responseTime":292,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:06: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.295","http_referrer":"","http_user_agent":"node-fetch","requestID":"7ff3f16667b7706b5c339f9751bc3a05"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 291ms","method":"POST","requestID":"b6693e6060ca2c594ea278967f188743","responseTime":291,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:06: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.296","http_referrer":"","http_user_agent":"node-fetch","requestID":"b6693e6060ca2c594ea278967f188743"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4NH0.HPuEIS18vuuO02v-gc1pvmRBeHUoban4W0qC40EGsy0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d8c5b7b4c29dc73e438f5ee29f49ea72","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"08/Jul/2024:13:06:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2647","request_time":"0.834","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"52e2d366dbdb51677272166f1940104c"} gateway-1 | {"time_local":"08/Jul/2024:13:06:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2647","request_time":"0.854","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"93f58d280a23e220d9cf78990b539684"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:24Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.978721,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:24Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443984,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4NH0.HPuEIS18vuuO02v-gc1pvmRBeHUoban4W0qC40EGsy0"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/88bb06f4-c193-45d3-a09b-74ef023b8b9c' closed"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d8c5b7b4c29dc73e438f5ee29f49ea72"},"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/d8c52886-3005-45f0-8c25-ed5b72f89929' 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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa29388bc-bbcb-4521-bb22-48a4b8c0a038","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"bebfdbad-8dc6-4376-99bf-a78dd05f40e6","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443984.3671508} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d8c5b7b4c29dc73e438f5ee29f49ea72"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6dd6aeac-74fa-4acb-a9fd-ccf86a46b6b7","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443984.3725793} 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":"d8c5b7b4c29dc73e438f5ee29f49ea72"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa29388bc-bbcb-4521-bb22-48a4b8c0a038","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"60999f8f-1e92-4e2d-baa5-de0805747605","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443984.3831162} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a82c1790-087c-48c6-aff1-f14fe9d06e68","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443984.3832688} 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":"d8c5b7b4c29dc73e438f5ee29f49ea72"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa29388bc-bbcb-4521-bb22-48a4b8c0a038","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa29388bc-bbcb-4521-bb22-48a4b8c0a038","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:24.383101828Z"}]},"request_id":"e4781b04-ca4a-432a-a7a3-48d0070bd84c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443984.387603} 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":"d8c5b7b4c29dc73e438f5ee29f49ea72"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d8c5b7b4c29dc73e438f5ee29f49ea72"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"d8c5b7b4c29dc73e438f5ee29f49ea72","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4NH0.HPuEIS18vuuO02v-gc1pvmRBeHUoban4W0qC40EGsy0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f493eebfae34c9a31a7aa29f6fa749bc","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:24Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.707476,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:24Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443984,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4NH0.HPuEIS18vuuO02v-gc1pvmRBeHUoban4W0qC40EGsy0"} 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":"f493eebfae34c9a31a7aa29f6fa749bc"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44f60a81-b545-45b8-9ee6-40f638dafa08","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"fe1e0de7-7d5c-46d4-9956-4152f529e4a1","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443984.4109614} 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":"f493eebfae34c9a31a7aa29f6fa749bc"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c23b9120-b134-400f-93e3-be8cd882484e","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443984.4160826} 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":"f493eebfae34c9a31a7aa29f6fa749bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44f60a81-b545-45b8-9ee6-40f638dafa08","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"8d6ddc40-8436-43c1-9836-55acc0a028e2","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443984.4343634} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8e52912d-2665-4385-9c54-6c8355dc4511","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443984.43539} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f493eebfae34c9a31a7aa29f6fa749bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":21}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44f60a81-b545-45b8-9ee6-40f638dafa08","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44f60a81-b545-45b8-9ee6-40f638dafa08","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:24.434344588Z"}]},"request_id":"5f31acf1-fe04-4667-a5bf-c5a5b6c23a2d","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443984.4405384} 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":"f493eebfae34c9a31a7aa29f6fa749bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06:24 +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":"f493eebfae34c9a31a7aa29f6fa749bc"} device-1 | {"level":"info","message":"POST /devices? 201 50ms","method":"POST","requestID":"f493eebfae34c9a31a7aa29f6fa749bc","responseTime":50,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4NH0.HPuEIS18vuuO02v-gc1pvmRBeHUoban4W0qC40EGsy0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0e1aa3f3f92db627de659dbf6d500098","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:24Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.757983,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:24Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a29388bc-bbcb-4521-bb22-48a4b8c0a038","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/a29388bc-bbcb-4521-bb22-48a4b8c0a038","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443984,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4NH0.HPuEIS18vuuO02v-gc1pvmRBeHUoban4W0qC40EGsy0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0e1aa3f3f92db627de659dbf6d500098"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa29388bc-bbcb-4521-bb22-48a4b8c0a038","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa29388bc-bbcb-4521-bb22-48a4b8c0a038","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:24.383101828Z"}]},"request_id":"9dcca3f6-447e-4972-9e87-fa05acbd74d3","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443984.9566054} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0e1aa3f3f92db627de659dbf6d500098"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a9983ad7-6470-4740-a22b-550ea9affc9e","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443984.9614825} 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":"0e1aa3f3f92db627de659dbf6d500098"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa29388bc-bbcb-4521-bb22-48a4b8c0a038","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa29388bc-bbcb-4521-bb22-48a4b8c0a038","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:24.383101828Z"}]},"request_id":"d43fa233-9bd2-4835-a8e7-6c80d8223dad","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443984.9725244} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0e1aa3f3f92db627de659dbf6d500098"},"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":"08/Jul/2024:13:06:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/a29388bc-bbcb-4521-bb22-48a4b8c0a038 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.033","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"0e1aa3f3f92db627de659dbf6d500098"} device-1 | {"level":"info","message":"PATCH /devices/a29388bc-bbcb-4521-bb22-48a4b8c0a038 200 29ms","method":"PATCH","requestID":"0e1aa3f3f92db627de659dbf6d500098","responseTime":29,"status":200,"url":"/devices/a29388bc-bbcb-4521-bb22-48a4b8c0a038"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4NH0.HPuEIS18vuuO02v-gc1pvmRBeHUoban4W0qC40EGsy0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"15e9726bde8bf8ecb9ae0b6d731d95f5","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:24Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.699102,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:24Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a29388bc-bbcb-4521-bb22-48a4b8c0a038","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/a29388bc-bbcb-4521-bb22-48a4b8c0a038","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443984,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4NH0.HPuEIS18vuuO02v-gc1pvmRBeHUoban4W0qC40EGsy0"} 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":"15e9726bde8bf8ecb9ae0b6d731d95f5"},"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":"08/Jul/2024:13:06:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a29388bc-bbcb-4521-bb22-48a4b8c0a038/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.020","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"15e9726bde8bf8ecb9ae0b6d731d95f5"} device-1 | {"level":"info","message":"POST /devices/a29388bc-bbcb-4521-bb22-48a4b8c0a038/websocket 200 15ms","method":"POST","requestID":"15e9726bde8bf8ecb9ae0b6d731d95f5","responseTime":15,"status":200,"url":"/devices/a29388bc-bbcb-4521-bb22-48a4b8c0a038/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/a29388bc-bbcb-4521-bb22-48a4b8c0a038' 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":"57a4a24b609031d57ce39a786971d4f1","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:06:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/44f60a81-b545-45b8-9ee6-40f638dafa08/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":"57a4a24b609031d57ce39a786971d4f1"} device-1 | {"level":"info","message":"OPTIONS /devices/44f60a81-b545-45b8-9ee6-40f638dafa08/websocket 200 1ms","method":"OPTIONS","requestID":"57a4a24b609031d57ce39a786971d4f1","responseTime":1,"status":200,"url":"/devices/44f60a81-b545-45b8-9ee6-40f638dafa08/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4Nn0.zGXcp7bZPz4mza-o_MqskEacEivS4_b1XFDop-HnaYc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a4804977a9110e1ed5df2f34f97670a1","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:26Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.201688,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:26Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/44f60a81-b545-45b8-9ee6-40f638dafa08","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/44f60a81-b545-45b8-9ee6-40f638dafa08","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443986,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4Nn0.zGXcp7bZPz4mza-o_MqskEacEivS4_b1XFDop-HnaYc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a4804977a9110e1ed5df2f34f97670a1"},"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/44f60a81-b545-45b8-9ee6-40f638dafa08/websocket 200 22ms","method":"POST","requestID":"a4804977a9110e1ed5df2f34f97670a1","responseTime":22,"status":200,"url":"/devices/44f60a81-b545-45b8-9ee6-40f638dafa08/websocket"} gateway-1 | {"time_local":"08/Jul/2024:13:06:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/44f60a81-b545-45b8-9ee6-40f638dafa08/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a4804977a9110e1ed5df2f34f97670a1"} device-1 | {"level":"info","message":"device 'http://localhost/devices/44f60a81-b545-45b8-9ee6-40f638dafa08' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4Nn0.zGXcp7bZPz4mza-o_MqskEacEivS4_b1XFDop-HnaYc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b15acd8002d8ba889aff1c0d3a926337","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:26Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.317274,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a29388bc-bbcb-4521-bb22-48a4b8c0a038","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/a29388bc-bbcb-4521-bb22-48a4b8c0a038","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443986,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4Nn0.zGXcp7bZPz4mza-o_MqskEacEivS4_b1XFDop-HnaYc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b15acd8002d8ba889aff1c0d3a926337"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa29388bc-bbcb-4521-bb22-48a4b8c0a038","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa29388bc-bbcb-4521-bb22-48a4b8c0a038","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:24.383101828Z"}]},"request_id":"2ae4188e-deca-4794-8f61-87547777f521","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443986.5296285} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b15acd8002d8ba889aff1c0d3a926337"},"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":"08/Jul/2024:13:06:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a29388bc-bbcb-4521-bb22-48a4b8c0a038? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b15acd8002d8ba889aff1c0d3a926337"} device-1 | {"level":"info","message":"GET /devices/a29388bc-bbcb-4521-bb22-48a4b8c0a038? 200 19ms","method":"GET","requestID":"b15acd8002d8ba889aff1c0d3a926337","responseTime":19,"status":200,"url":"/devices/a29388bc-bbcb-4521-bb22-48a4b8c0a038?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4Nn0.zGXcp7bZPz4mza-o_MqskEacEivS4_b1XFDop-HnaYc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b527e58c5b7e53d21bb097761c7caafa","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:26Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.231772,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/44f60a81-b545-45b8-9ee6-40f638dafa08","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/44f60a81-b545-45b8-9ee6-40f638dafa08","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443986,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4Nn0.zGXcp7bZPz4mza-o_MqskEacEivS4_b1XFDop-HnaYc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b527e58c5b7e53d21bb097761c7caafa"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44f60a81-b545-45b8-9ee6-40f638dafa08","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44f60a81-b545-45b8-9ee6-40f638dafa08","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:24.434344588Z"}]},"request_id":"02f8c9c5-0046-4e42-81bb-c9171e307304","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443986.5561502} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b527e58c5b7e53d21bb097761c7caafa"},"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":"08/Jul/2024:13:06:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/44f60a81-b545-45b8-9ee6-40f638dafa08? 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":"b527e58c5b7e53d21bb097761c7caafa"} device-1 | {"level":"info","message":"GET /devices/44f60a81-b545-45b8-9ee6-40f638dafa08? 200 18ms","method":"GET","requestID":"b527e58c5b7e53d21bb097761c7caafa","responseTime":18,"status":200,"url":"/devices/44f60a81-b545-45b8-9ee6-40f638dafa08?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4Nn0.zGXcp7bZPz4mza-o_MqskEacEivS4_b1XFDop-HnaYc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"f5b59726a5f4037d9025d5a58807c859","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:58600","level":"info","msg":"Received request.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:26Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.347664,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443986,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4Nn0.zGXcp7bZPz4mza-o_MqskEacEivS4_b1XFDop-HnaYc"} 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":"f5b59726a5f4037d9025d5a58807c859"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dfcd0cb3-f2a5-4eff-b45a-ca9c342952c6"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dfcd0cb3-f2a5-4eff-b45a-ca9c342952c6"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dfcd0cb3-f2a5-4eff-b45a-ca9c342952c6"},"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:58600","level":"info","msg":"Received request.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:26Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.704349,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:26Z"} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Received request.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a29388bc-bbcb-4521-bb22-48a4b8c0a038","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/a29388bc-bbcb-4521-bb22-48a4b8c0a038","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443986,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4Nn0.zGXcp7bZPz4mza-o_MqskEacEivS4_b1XFDop-HnaYc"} 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":"e24aac00-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Sent response.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.569966,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/44f60a81-b545-45b8-9ee6-40f638dafa08","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/44f60a81-b545-45b8-9ee6-40f638dafa08","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443986,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4Nn0.zGXcp7bZPz4mza-o_MqskEacEivS4_b1XFDop-HnaYc"} 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":"e24afa20-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa29388bc-bbcb-4521-bb22-48a4b8c0a038","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa29388bc-bbcb-4521-bb22-48a4b8c0a038","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:24.383101828Z"}]},"request_id":"9c5ff039-16e4-4b0e-977c-97642e2286ed","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443986.632597} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e24aac00-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44f60a81-b545-45b8-9ee6-40f638dafa08","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44f60a81-b545-45b8-9ee6-40f638dafa08","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:24.434344588Z"}]},"request_id":"e19e9158-2963-4495-9e4b-091948d5f420","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443986.6335726} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e24afa20-3d2a-11ef-b23c-0125361f42d1"},"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/a29388bc-bbcb-4521-bb22-48a4b8c0a038? 200 18ms","method":"GET","requestID":"e24aac00-3d2a-11ef-b23c-0125361f42d1","responseTime":18,"status":200,"url":"/devices/a29388bc-bbcb-4521-bb22-48a4b8c0a038?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/44f60a81-b545-45b8-9ee6-40f638dafa08? 200 17ms","method":"GET","requestID":"e24afa20-3d2a-11ef-b23c-0125361f42d1","responseTime":17,"status":200,"url":"/devices/44f60a81-b545-45b8-9ee6-40f638dafa08?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dfcd0cb3-f2a5-4eff-b45a-ca9c342952c6"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dfcd0cb3-f2a5-4eff-b45a-ca9c342952c6"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dfcd0cb3-f2a5-4eff-b45a-ca9c342952c6"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dfcd0cb3-f2a5-4eff-b45a-ca9c342952c6"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dfcd0cb3-f2a5-4eff-b45a-ca9c342952c6"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dfcd0cb3-f2a5-4eff-b45a-ca9c342952c6"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dfcd0cb3-f2a5-4eff-b45a-ca9c342952c6"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dfcd0cb3-f2a5-4eff-b45a-ca9c342952c6"},"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/dfcd0cb3-f2a5-4eff-b45a-ca9c342952c6"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:26Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.832816,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:26Z"} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Received request.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a29388bc-bbcb-4521-bb22-48a4b8c0a038","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/a29388bc-bbcb-4521-bb22-48a4b8c0a038","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443986,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4Nn0.zGXcp7bZPz4mza-o_MqskEacEivS4_b1XFDop-HnaYc"} 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":"e256b9f0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Sent response.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.373798,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/44f60a81-b545-45b8-9ee6-40f638dafa08","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/44f60a81-b545-45b8-9ee6-40f638dafa08","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443986,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4Nn0.zGXcp7bZPz4mza-o_MqskEacEivS4_b1XFDop-HnaYc"} 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":"e2570810-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:26Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.501982,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:26Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa29388bc-bbcb-4521-bb22-48a4b8c0a038","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"17927c71-f49b-4829-9dd3-9a4561a1b313","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443986.7183828} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a29388bc-bbcb-4521-bb22-48a4b8c0a038","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a29388bc-bbcb-4521-bb22-48a4b8c0a038","object_type":"device","rebac_allow":false,"scope_allow":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":"e2577d40-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa29388bc-bbcb-4521-bb22-48a4b8c0a038","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa29388bc-bbcb-4521-bb22-48a4b8c0a038","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:24.383101828Z"}]},"request_id":"7ef22473-da62-45d1-b1bb-a4e1417f25fd","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443986.7234206} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e256b9f0-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44f60a81-b545-45b8-9ee6-40f638dafa08","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44f60a81-b545-45b8-9ee6-40f638dafa08","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:24.434344588Z"}]},"request_id":"ab846407-3ad2-4237-86e0-8b9114fcb6b0","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443986.7293181} device-1 | {"level":"info","message":"POST /devices/a29388bc-bbcb-4521-bb22-48a4b8c0a038/signaling 200 22ms","method":"POST","requestID":"e2577d40-3d2a-11ef-b23c-0125361f42d1","responseTime":22,"status":200,"url":"/devices/a29388bc-bbcb-4521-bb22-48a4b8c0a038/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e2570810-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/a29388bc-bbcb-4521-bb22-48a4b8c0a038? 200 40ms","method":"GET","requestID":"e256b9f0-3d2a-11ef-b23c-0125361f42d1","responseTime":40,"status":200,"url":"/devices/a29388bc-bbcb-4521-bb22-48a4b8c0a038?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdfcd0cb3-f2a5-4eff-b45a-ca9c342952c6#owner@http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdfcd0cb3-f2a5-4eff-b45a-ca9c342952c6","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"d7add743-f92e-4d58-aa9a-d7efade70419","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443986.741715} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1e9f897c-b71f-4f49-ac97-cfbf9fddd806","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443986.7422616} device-1 | {"level":"info","message":"GET /devices/44f60a81-b545-45b8-9ee6-40f638dafa08? 200 39ms","method":"GET","requestID":"e2570810-3d2a-11ef-b23c-0125361f42d1","responseTime":39,"status":200,"url":"/devices/44f60a81-b545-45b8-9ee6-40f638dafa08?"} 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":"f5b59726a5f4037d9025d5a58807c859"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":28}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44f60a81-b545-45b8-9ee6-40f638dafa08","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d38c5edd-d699-4954-a96f-50802064fdc0","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443986.7470028} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:26Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.231847,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:26Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/44f60a81-b545-45b8-9ee6-40f638dafa08","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/44f60a81-b545-45b8-9ee6-40f638dafa08","object_type":"device","rebac_allow":false,"scope_allow":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":"e25bc300-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:26Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/44f60a81-b545-45b8-9ee6-40f638dafa08/signaling 200 18ms","method":"POST","requestID":"e25bc300-3d2a-11ef-b23c-0125361f42d1","responseTime":18,"status":200,"url":"/devices/44f60a81-b545-45b8-9ee6-40f638dafa08/signaling"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa29388bc-bbcb-4521-bb22-48a4b8c0a038","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4bc38375-1fa9-4f01-be79-8fcb6c13168e","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443986.7549667} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.428845,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a29388bc-bbcb-4521-bb22-48a4b8c0a038","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a29388bc-bbcb-4521-bb22-48a4b8c0a038","object_type":"device","rebac_allow":false,"scope_allow":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":"e25d97c0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/dfcd0cb3-f2a5-4eff-b45a-ca9c342952c6","user":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"08/Jul/2024:13:06:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.195","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f5b59726a5f4037d9025d5a58807c859"} experiment-1 | {"level":"info","message":"POST /experiments? 201 187ms","method":"POST","requestID":"f5b59726a5f4037d9025d5a58807c859","responseTime":187,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/a29388bc-bbcb-4521-bb22-48a4b8c0a038/signaling 200 14ms","method":"POST","requestID":"e25d97c0-3d2a-11ef-b23c-0125361f42d1","responseTime":14,"status":200,"url":"/devices/a29388bc-bbcb-4521-bb22-48a4b8c0a038/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4Nn0.zGXcp7bZPz4mza-o_MqskEacEivS4_b1XFDop-HnaYc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6a39a2223980b5a13abef722a7d2240b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:26Z"} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Received request.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:26Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44f60a81-b545-45b8-9ee6-40f638dafa08","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"35d20ffb-c46f-42f0-9caa-89db0e2b7040","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443986.7724679} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.395708,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/44f60a81-b545-45b8-9ee6-40f638dafa08","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/44f60a81-b545-45b8-9ee6-40f638dafa08","object_type":"device","rebac_allow":false,"scope_allow":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":"e26056e0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Sent response.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.354,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a29388bc-bbcb-4521-bb22-48a4b8c0a038","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/a29388bc-bbcb-4521-bb22-48a4b8c0a038","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443986,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4Nn0.zGXcp7bZPz4mza-o_MqskEacEivS4_b1XFDop-HnaYc"} 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":"6a39a2223980b5a13abef722a7d2240b"},"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/44f60a81-b545-45b8-9ee6-40f638dafa08/signaling 200 14ms","method":"POST","requestID":"e26056e0-3d2a-11ef-b23c-0125361f42d1","responseTime":14,"status":200,"url":"/devices/44f60a81-b545-45b8-9ee6-40f638dafa08/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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa29388bc-bbcb-4521-bb22-48a4b8c0a038","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa29388bc-bbcb-4521-bb22-48a4b8c0a038","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:24.383101828Z"}]},"request_id":"aef24bea-2865-4f2d-955c-8ea26b8cf325","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443986.7808294} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dfcd0cb3-f2a5-4eff-b45a-ca9c342952c6"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dfcd0cb3-f2a5-4eff-b45a-ca9c342952c6"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"12df7067-06cc-41c6-a349-8f4a75ac5e5b"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"8e4d065e-63b6-4f3f-ae53-d4545668ac01"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"974156f0-9e28-4bb8-b79d-37e0129afb67"}]},"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/44f60a81-b545-45b8-9ee6-40f638dafa08"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/a29388bc-bbcb-4521-bb22-48a4b8c0a038"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6a39a2223980b5a13abef722a7d2240b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a29388bc-bbcb-4521-bb22-48a4b8c0a038? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6a39a2223980b5a13abef722a7d2240b"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:26Z"} device-1 | {"level":"info","message":"GET /devices/a29388bc-bbcb-4521-bb22-48a4b8c0a038? 200 20ms","method":"GET","requestID":"6a39a2223980b5a13abef722a7d2240b","responseTime":20,"status":200,"url":"/devices/a29388bc-bbcb-4521-bb22-48a4b8c0a038?"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.203698,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443986,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4Nn0.zGXcp7bZPz4mza-o_MqskEacEivS4_b1XFDop-HnaYc"} 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":"e2631600-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4Nn0.zGXcp7bZPz4mza-o_MqskEacEivS4_b1XFDop-HnaYc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"57012ea383e653e89b9738a84bc0650d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:26Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.827558,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/44f60a81-b545-45b8-9ee6-40f638dafa08","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/44f60a81-b545-45b8-9ee6-40f638dafa08","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443986,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4Nn0.zGXcp7bZPz4mza-o_MqskEacEivS4_b1XFDop-HnaYc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"57012ea383e653e89b9738a84bc0650d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","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%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"05eb6cfc-7a2d-4ce4-8f0c-4e9def2055b1","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443986.804956} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"85f1a19b-1eeb-439a-9f5d-9befbe64fa1b","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443986.8053954} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44f60a81-b545-45b8-9ee6-40f638dafa08","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44f60a81-b545-45b8-9ee6-40f638dafa08","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:24.434344588Z"}]},"request_id":"d0967284-fcfa-4e89-820f-012bf86ad218","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443986.8065703} 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":"e2631600-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"level":"info","message":"POST /relations/query 200 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":"57012ea383e653e89b9738a84bc0650d"},"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":"08/Jul/2024:13:06:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/44f60a81-b545-45b8-9ee6-40f638dafa08? 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":"57012ea383e653e89b9738a84bc0650d"} device-1 | {"level":"info","message":"GET /devices/44f60a81-b545-45b8-9ee6-40f638dafa08? 200 19ms","method":"GET","requestID":"57012ea383e653e89b9738a84bc0650d","responseTime":19,"status":200,"url":"/devices/44f60a81-b545-45b8-9ee6-40f638dafa08?"} 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/37eea874-d6f7-436f-9ad2-ae07006c0f73'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/37eea874-d6f7-436f-9ad2-ae07006c0f73'"} 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":"e2631600-3d2a-11ef-b23c-0125361f42d1","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/dfcd0cb3-f2a5-4eff-b45a-ca9c342952c6"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:26Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa29388bc-bbcb-4521-bb22-48a4b8c0a038","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7ab00ee2-3cc0-4a87-b9f0-cb449b95ff9b","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443986.8673027} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.755825,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a29388bc-bbcb-4521-bb22-48a4b8c0a038","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a29388bc-bbcb-4521-bb22-48a4b8c0a038","object_type":"device","rebac_allow":false,"scope_allow":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":"e26efce0-3d2a-11ef-b23c-0125361f42d1"},"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/a29388bc-bbcb-4521-bb22-48a4b8c0a038/signaling 200 9ms","method":"POST","requestID":"e26efce0-3d2a-11ef-b23c-0125361f42d1","responseTime":9,"status":200,"url":"/devices/a29388bc-bbcb-4521-bb22-48a4b8c0a038/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:26Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44f60a81-b545-45b8-9ee6-40f638dafa08","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1a8ad89f-fd74-485c-8578-1065c3366962","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443986.8782718} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.380922,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/44f60a81-b545-45b8-9ee6-40f638dafa08","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/44f60a81-b545-45b8-9ee6-40f638dafa08","object_type":"device","rebac_allow":false,"scope_allow":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":"e270aa90-3d2a-11ef-b23c-0125361f42d1"},"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/44f60a81-b545-45b8-9ee6-40f638dafa08/signaling 200 9ms","method":"POST","requestID":"e270aa90-3d2a-11ef-b23c-0125361f42d1","responseTime":9,"status":200,"url":"/devices/44f60a81-b545-45b8-9ee6-40f638dafa08/signaling"} device-1 | {"data":{"peerconnection":"37eea874-d6f7-436f-9ad2-ae07006c0f73","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/37eea874-d6f7-436f-9ad2-ae07006c0f73' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"37eea874-d6f7-436f-9ad2-ae07006c0f73","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/44f60a81-b545-45b8-9ee6-40f638dafa08'"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"bb9e5ad98714326d165429f0e7123901","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/44f60a81-b545-45b8-9ee6-40f638dafa08"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/a29388bc-bbcb-4521-bb22-48a4b8c0a038"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/37eea874-d6f7-436f-9ad2-ae07006c0f73"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"bb9e5ad98714326d165429f0e7123901","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:06: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.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"bb9e5ad98714326d165429f0e7123901"} device-1 | {"data":{"peerconnection":"37eea874-d6f7-436f-9ad2-ae07006c0f73","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"37eea874-d6f7-436f-9ad2-ae07006c0f73","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/37eea874-d6f7-436f-9ad2-ae07006c0f73' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"37eea874-d6f7-436f-9ad2-ae07006c0f73","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":"7a76adaea519378d1ca26c5cfe79ca87","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/44f60a81-b545-45b8-9ee6-40f638dafa08"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/a29388bc-bbcb-4521-bb22-48a4b8c0a038"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/37eea874-d6f7-436f-9ad2-ae07006c0f73"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:29Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F37eea874-d6f7-436f-9ad2-ae07006c0f73","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9d2829b2-2ca8-4be8-a2b2-7c27f5b62894","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443989.031079} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.478275,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/37eea874-d6f7-436f-9ad2-ae07006c0f73","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/37eea874-d6f7-436f-9ad2-ae07006c0f73","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":"e3b893e0-3d2a-11ef-b23c-0125361f42d1"},"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/37eea874-d6f7-436f-9ad2-ae07006c0f73 200 17ms","method":"GET","requestID":"e3b893e0-3d2a-11ef-b23c-0125361f42d1","responseTime":17,"status":200,"url":"/peerconnections/37eea874-d6f7-436f-9ad2-ae07006c0f73"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 52ms","method":"POST","requestID":"7a76adaea519378d1ca26c5cfe79ca87","responseTime":52,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:06:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.057","http_referrer":"","http_user_agent":"node-fetch","requestID":"7a76adaea519378d1ca26c5cfe79ca87"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:29Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44f60a81-b545-45b8-9ee6-40f638dafa08","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"923138a5-5ef1-42bf-b2b6-9ec19858d2b3","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443989.0734224} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.632001,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/44f60a81-b545-45b8-9ee6-40f638dafa08","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/44f60a81-b545-45b8-9ee6-40f638dafa08","object_type":"device","rebac_allow":false,"scope_allow":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":"e3bf4aa0-3d2a-11ef-b23c-0125361f42d1"},"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/44f60a81-b545-45b8-9ee6-40f638dafa08/signaling 200 15ms","method":"POST","requestID":"e3bf4aa0-3d2a-11ef-b23c-0125361f42d1","responseTime":15,"status":200,"url":"/devices/44f60a81-b545-45b8-9ee6-40f638dafa08/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:29Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa29388bc-bbcb-4521-bb22-48a4b8c0a038","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"90fb8c35-f823-4a7a-9c55-486c478daf9b","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443989.0922368} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.613366,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a29388bc-bbcb-4521-bb22-48a4b8c0a038","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a29388bc-bbcb-4521-bb22-48a4b8c0a038","object_type":"device","rebac_allow":false,"scope_allow":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":"e3c209c0-3d2a-11ef-b23c-0125361f42d1"},"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/a29388bc-bbcb-4521-bb22-48a4b8c0a038/signaling 200 14ms","method":"POST","requestID":"e3c209c0-3d2a-11ef-b23c-0125361f42d1","responseTime":14,"status":200,"url":"/devices/a29388bc-bbcb-4521-bb22-48a4b8c0a038/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4OX0.on9HPPNosjL9oHprqqk_lAkAYxIWos2omvQE3lqqVlM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"6172733713d07629c4e38562774fb292","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/dfcd0cb3-f2a5-4eff-b45a-ca9c342952c6"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:29Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.287689,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/dfcd0cb3-f2a5-4eff-b45a-ca9c342952c6","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/dfcd0cb3-f2a5-4eff-b45a-ca9c342952c6","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443989,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4OX0.on9HPPNosjL9oHprqqk_lAkAYxIWos2omvQE3lqqVlM"} 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":"6172733713d07629c4e38562774fb292"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} gateway-1 | {"time_local":"08/Jul/2024:13:06:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/dfcd0cb3-f2a5-4eff-b45a-ca9c342952c6 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6172733713d07629c4e38562774fb292"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/dfcd0cb3-f2a5-4eff-b45a-ca9c342952c6"} experiment-1 | {"level":"info","message":"GET /experiments/dfcd0cb3-f2a5-4eff-b45a-ca9c342952c6 200 18ms","method":"GET","requestID":"6172733713d07629c4e38562774fb292","responseTime":18,"status":200,"url":"/experiments/dfcd0cb3-f2a5-4eff-b45a-ca9c342952c6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4OX0.on9HPPNosjL9oHprqqk_lAkAYxIWos2omvQE3lqqVlM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5e285d70388d63113826496f8a2e88d5","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/dfcd0cb3-f2a5-4eff-b45a-ca9c342952c6"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:29Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.98657,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:29Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/dfcd0cb3-f2a5-4eff-b45a-ca9c342952c6","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/dfcd0cb3-f2a5-4eff-b45a-ca9c342952c6","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443989,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4OX0.on9HPPNosjL9oHprqqk_lAkAYxIWos2omvQE3lqqVlM"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5e285d70388d63113826496f8a2e88d5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dfcd0cb3-f2a5-4eff-b45a-ca9c342952c6"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:29Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.899923,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:29Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/37eea874-d6f7-436f-9ad2-ae07006c0f73","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:http://localhost/peerconnections/37eea874-d6f7-436f-9ad2-ae07006c0f73","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443989,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4OX0.on9HPPNosjL9oHprqqk_lAkAYxIWos2omvQE3lqqVlM"} 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":"e3dc6f90-3d2a-11ef-b23c-0125361f42d1"},"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/37eea874-d6f7-436f-9ad2-ae07006c0f73' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/37eea874-d6f7-436f-9ad2-ae07006c0f73' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"37eea874-d6f7-436f-9ad2-ae07006c0f73","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F37eea874-d6f7-436f-9ad2-ae07006c0f73': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F37eea874-d6f7-436f-9ad2-ae07006c0f73","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"428d29b5-1dec-45b8-b75f-245639cba332","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443989.2841363} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c1597872-bf6a-447f-8fce-340ff955749c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443989.2843559} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0c2a2ae052673ece3ce1943a6a8c84a7","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 | {"level":"info","message":"POST /relations/update 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e3dc6f90-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d189892847797c4e9973ae10b490c205","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/44f60a81-b545-45b8-9ee6-40f638dafa08"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/a29388bc-bbcb-4521-bb22-48a4b8c0a038"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/37eea874-d6f7-436f-9ad2-ae07006c0f73"}}},"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/44f60a81-b545-45b8-9ee6-40f638dafa08"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/a29388bc-bbcb-4521-bb22-48a4b8c0a038"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/37eea874-d6f7-436f-9ad2-ae07006c0f73"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/37eea874-d6f7-436f-9ad2-ae07006c0f73 204 44ms","method":"DELETE","requestID":"e3dc6f90-3d2a-11ef-b23c-0125361f42d1","responseTime":44,"status":204,"url":"/peerconnections/37eea874-d6f7-436f-9ad2-ae07006c0f73"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/44f60a81-b545-45b8-9ee6-40f638dafa08'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dfcd0cb3-f2a5-4eff-b45a-ca9c342952c6"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:29Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44f60a81-b545-45b8-9ee6-40f638dafa08","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"34224a27-cc20-4901-abee-35c78988e037","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443989.320822} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.004865,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/44f60a81-b545-45b8-9ee6-40f638dafa08","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/44f60a81-b545-45b8-9ee6-40f638dafa08","object_type":"device","rebac_allow":false,"scope_allow":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":"e3e57040-3d2a-11ef-b23c-0125361f42d1"},"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/44f60a81-b545-45b8-9ee6-40f638dafa08/signaling 200 8ms","method":"POST","requestID":"e3e57040-3d2a-11ef-b23c-0125361f42d1","responseTime":8,"status":200,"url":"/devices/44f60a81-b545-45b8-9ee6-40f638dafa08/signaling"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdfcd0cb3-f2a5-4eff-b45a-ca9c342952c6': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdfcd0cb3-f2a5-4eff-b45a-ca9c342952c6","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"67844526-0c27-47cf-a0ed-51e14ec317cb","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443989.3262942} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"eb07ff35-5935-4f93-bd5c-5cb7d4e1db11","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443989.3265357} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5e285d70388d63113826496f8a2e88d5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:29Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa29388bc-bbcb-4521-bb22-48a4b8c0a038","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"05af2dd0-ed0d-45cf-a687-d83597ba3df8","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443989.331968} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.250132,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a29388bc-bbcb-4521-bb22-48a4b8c0a038","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a29388bc-bbcb-4521-bb22-48a4b8c0a038","object_type":"device","rebac_allow":false,"scope_allow":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":"e3e71df0-3d2a-11ef-b23c-0125361f42d1"},"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/a29388bc-bbcb-4521-bb22-48a4b8c0a038/signaling 200 10ms","method":"POST","requestID":"e3e71df0-3d2a-11ef-b23c-0125361f42d1","responseTime":10,"status":200,"url":"/devices/a29388bc-bbcb-4521-bb22-48a4b8c0a038/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/dfcd0cb3-f2a5-4eff-b45a-ca9c342952c6"} gateway-1 | {"time_local":"08/Jul/2024:13:06:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/dfcd0cb3-f2a5-4eff-b45a-ca9c342952c6 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.150","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5e285d70388d63113826496f8a2e88d5"} experiment-1 | {"level":"info","message":"DELETE /experiments/dfcd0cb3-f2a5-4eff-b45a-ca9c342952c6 204 145ms","method":"DELETE","requestID":"5e285d70388d63113826496f8a2e88d5","responseTime":145,"status":204,"url":"/experiments/dfcd0cb3-f2a5-4eff-b45a-ca9c342952c6"} gateway-1 | {"time_local":"08/Jul/2024:13:06:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2598","request_time":"4.387","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"c1679ebb90b6b16114a647a7718902ad"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 100ms","method":"POST","requestID":"0c2a2ae052673ece3ce1943a6a8c84a7","responseTime":100,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:06:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.103","http_referrer":"","http_user_agent":"node-fetch","requestID":"0c2a2ae052673ece3ce1943a6a8c84a7"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 100ms","method":"POST","requestID":"d189892847797c4e9973ae10b490c205","responseTime":100,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:06:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.104","http_referrer":"","http_user_agent":"node-fetch","requestID":"d189892847797c4e9973ae10b490c205"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4OX0.on9HPPNosjL9oHprqqk_lAkAYxIWos2omvQE3lqqVlM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ff7f300f69415dbcd712642d332aef05","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"08/Jul/2024:13:06:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2506","request_time":"2.902","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"09da60993c89e9ebd997e8111bba784e"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:29Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.875011,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443989,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4OX0.on9HPPNosjL9oHprqqk_lAkAYxIWos2omvQE3lqqVlM"} 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":"ff7f300f69415dbcd712642d332aef05"},"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/a29388bc-bbcb-4521-bb22-48a4b8c0a038' 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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e002dfe-1eac-4463-b080-c1030e4d3be1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b8eeab60-b9df-4187-b570-c106c22fe073","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443989.4155827} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ff7f300f69415dbcd712642d332aef05"},"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/44f60a81-b545-45b8-9ee6-40f638dafa08' 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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a3a14581-8980-46fd-9d32-3b3060bf099a","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443989.4225113} 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":"ff7f300f69415dbcd712642d332aef05"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e002dfe-1eac-4463-b080-c1030e4d3be1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"b2869ac3-ef50-4414-ba1b-f1a584419c91","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443989.4323483} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"41212002-1e00-4ab8-a253-ca90b1580e58","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443989.4325147} 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":"ff7f300f69415dbcd712642d332aef05"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e002dfe-1eac-4463-b080-c1030e4d3be1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e002dfe-1eac-4463-b080-c1030e4d3be1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:29.432327940Z"}]},"request_id":"130dc47a-5d3a-42c8-9c4c-82c8c5f2ee0f","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443989.4368823} 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":"ff7f300f69415dbcd712642d332aef05"},"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":"ff7f300f69415dbcd712642d332aef05","responseTime":47,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/Jul/2024:13:06:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ff7f300f69415dbcd712642d332aef05"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4OX0.on9HPPNosjL9oHprqqk_lAkAYxIWos2omvQE3lqqVlM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"eef558177cb73d0de292bad3ca9959c0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:29Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.794616,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443989,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk4OX0.on9HPPNosjL9oHprqqk_lAkAYxIWos2omvQE3lqqVlM"} 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":"eef558177cb73d0de292bad3ca9959c0"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4085ddba-828f-404c-9c09-1898dc0baeaa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"347e7c75-c3aa-40c2-9f7c-1b931e232ab9","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443989.468512} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eef558177cb73d0de292bad3ca9959c0"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d9aa8d68-f738-4cb3-95f5-a88eb052d445","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443989.4740644} 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":"eef558177cb73d0de292bad3ca9959c0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4085ddba-828f-404c-9c09-1898dc0baeaa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"6e746701-7b34-443a-894d-b1e01cb406f4","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443989.4866867} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6807dfd3-3c28-4bf3-a2f4-eb8c0fa43cf9","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443989.4869668} 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":"eef558177cb73d0de292bad3ca9959c0"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4085ddba-828f-404c-9c09-1898dc0baeaa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4085ddba-828f-404c-9c09-1898dc0baeaa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:29.486670027Z"}]},"request_id":"2b30808d-724e-45b4-809d-2a57d156b83c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443989.4907553} 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":"eef558177cb73d0de292bad3ca9959c0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"eef558177cb73d0de292bad3ca9959c0"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"eef558177cb73d0de292bad3ca9959c0","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9c2787fb6b8584f965d172838500294b","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:06:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/4085ddba-828f-404c-9c09-1898dc0baeaa/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":"9c2787fb6b8584f965d172838500294b"} device-1 | {"level":"info","message":"OPTIONS /devices/4085ddba-828f-404c-9c09-1898dc0baeaa/websocket 200 1ms","method":"OPTIONS","requestID":"9c2787fb6b8584f965d172838500294b","responseTime":1,"status":200,"url":"/devices/4085ddba-828f-404c-9c09-1898dc0baeaa/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5MX0.4624h4-p5ZUzLLKucsTOWMdUZIRgfoYv6IrmxfAb518","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"db509a708aabb178c1e8b1b817d4352c","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:31Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.902288,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:31Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4085ddba-828f-404c-9c09-1898dc0baeaa","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/4085ddba-828f-404c-9c09-1898dc0baeaa","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443991,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5MX0.4624h4-p5ZUzLLKucsTOWMdUZIRgfoYv6IrmxfAb518"} 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":"db509a708aabb178c1e8b1b817d4352c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"763f0ba12d8247deaec23e043825db3d","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:06:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/8e002dfe-1eac-4463-b080-c1030e4d3be1/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":"763f0ba12d8247deaec23e043825db3d"} device-1 | {"level":"info","message":"OPTIONS /devices/8e002dfe-1eac-4463-b080-c1030e4d3be1/websocket 200 1ms","method":"OPTIONS","requestID":"763f0ba12d8247deaec23e043825db3d","responseTime":1,"status":200,"url":"/devices/8e002dfe-1eac-4463-b080-c1030e4d3be1/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5MX0.4624h4-p5ZUzLLKucsTOWMdUZIRgfoYv6IrmxfAb518","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0aacb6fc3e2b84ea1a602aee603c5425","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/4085ddba-828f-404c-9c09-1898dc0baeaa/websocket 200 23ms","method":"POST","requestID":"db509a708aabb178c1e8b1b817d4352c","responseTime":23,"status":200,"url":"/devices/4085ddba-828f-404c-9c09-1898dc0baeaa/websocket"} gateway-1 | {"time_local":"08/Jul/2024:13:06:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/4085ddba-828f-404c-9c09-1898dc0baeaa/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":"db509a708aabb178c1e8b1b817d4352c"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:31Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.002081,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:31Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e002dfe-1eac-4463-b080-c1030e4d3be1","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/8e002dfe-1eac-4463-b080-c1030e4d3be1","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443991,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5MX0.4624h4-p5ZUzLLKucsTOWMdUZIRgfoYv6IrmxfAb518"} 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":"0aacb6fc3e2b84ea1a602aee603c5425"},"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":"08/Jul/2024:13:06:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8e002dfe-1eac-4463-b080-c1030e4d3be1/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":"0aacb6fc3e2b84ea1a602aee603c5425"} device-1 | {"level":"info","message":"POST /devices/8e002dfe-1eac-4463-b080-c1030e4d3be1/websocket 200 23ms","method":"POST","requestID":"0aacb6fc3e2b84ea1a602aee603c5425","responseTime":23,"status":200,"url":"/devices/8e002dfe-1eac-4463-b080-c1030e4d3be1/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/4085ddba-828f-404c-9c09-1898dc0baeaa' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/8e002dfe-1eac-4463-b080-c1030e4d3be1' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5MX0.4624h4-p5ZUzLLKucsTOWMdUZIRgfoYv6IrmxfAb518","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"23d7cb378528fc89d52c54050d48255e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:31Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.23615,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e002dfe-1eac-4463-b080-c1030e4d3be1","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/8e002dfe-1eac-4463-b080-c1030e4d3be1","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443991,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5MX0.4624h4-p5ZUzLLKucsTOWMdUZIRgfoYv6IrmxfAb518"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"23d7cb378528fc89d52c54050d48255e"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e002dfe-1eac-4463-b080-c1030e4d3be1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e002dfe-1eac-4463-b080-c1030e4d3be1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:29.432327940Z"}]},"request_id":"664bde72-4a4d-4bb0-bbfe-331a70aa2382","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443991.5145319} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"23d7cb378528fc89d52c54050d48255e"},"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":"08/Jul/2024:13:06:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8e002dfe-1eac-4463-b080-c1030e4d3be1? 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":"23d7cb378528fc89d52c54050d48255e"} device-1 | {"level":"info","message":"GET /devices/8e002dfe-1eac-4463-b080-c1030e4d3be1? 200 20ms","method":"GET","requestID":"23d7cb378528fc89d52c54050d48255e","responseTime":20,"status":200,"url":"/devices/8e002dfe-1eac-4463-b080-c1030e4d3be1?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5MX0.4624h4-p5ZUzLLKucsTOWMdUZIRgfoYv6IrmxfAb518","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8888eae6f25b229d5e0c13d9e090c85c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:31Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.879433,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4085ddba-828f-404c-9c09-1898dc0baeaa","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/4085ddba-828f-404c-9c09-1898dc0baeaa","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443991,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5MX0.4624h4-p5ZUzLLKucsTOWMdUZIRgfoYv6IrmxfAb518"} 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":"8888eae6f25b229d5e0c13d9e090c85c"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4085ddba-828f-404c-9c09-1898dc0baeaa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4085ddba-828f-404c-9c09-1898dc0baeaa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:29.486670027Z"}]},"request_id":"f310c42c-9630-467f-89df-f4f210acb19f","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443991.5383651} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8888eae6f25b229d5e0c13d9e090c85c"},"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":"08/Jul/2024:13:06:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4085ddba-828f-404c-9c09-1898dc0baeaa? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8888eae6f25b229d5e0c13d9e090c85c"} device-1 | {"level":"info","message":"GET /devices/4085ddba-828f-404c-9c09-1898dc0baeaa? 200 18ms","method":"GET","requestID":"8888eae6f25b229d5e0c13d9e090c85c","responseTime":18,"status":200,"url":"/devices/4085ddba-828f-404c-9c09-1898dc0baeaa?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5MX0.4624h4-p5ZUzLLKucsTOWMdUZIRgfoYv6IrmxfAb518","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"20afa2bcfd9eb33bc304c2ef1344bee0","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:58600","level":"info","msg":"Received request.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:31Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.292204,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:31Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443991,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5MX0.4624h4-p5ZUzLLKucsTOWMdUZIRgfoYv6IrmxfAb518"} 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":"20afa2bcfd9eb33bc304c2ef1344bee0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ae1dd7a7-fd4d-4bc7-845c-2761f2522760"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ae1dd7a7-fd4d-4bc7-845c-2761f2522760"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ae1dd7a7-fd4d-4bc7-845c-2761f2522760"},"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:58600","level":"info","msg":"Received request.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:31Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.641685,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:31Z"} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Received request.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e002dfe-1eac-4463-b080-c1030e4d3be1","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/8e002dfe-1eac-4463-b080-c1030e4d3be1","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443991,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5MX0.4624h4-p5ZUzLLKucsTOWMdUZIRgfoYv6IrmxfAb518"} 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":"e5412fb0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Sent response.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.916964,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4085ddba-828f-404c-9c09-1898dc0baeaa","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/4085ddba-828f-404c-9c09-1898dc0baeaa","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443991,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5MX0.4624h4-p5ZUzLLKucsTOWMdUZIRgfoYv6IrmxfAb518"} 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":"e541a4e0-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e002dfe-1eac-4463-b080-c1030e4d3be1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e002dfe-1eac-4463-b080-c1030e4d3be1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:29.432327940Z"}]},"request_id":"08a912a8-6aed-45fd-82c4-2881990ff393","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443991.6123586} 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":"e5412fb0-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4085ddba-828f-404c-9c09-1898dc0baeaa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4085ddba-828f-404c-9c09-1898dc0baeaa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:29.486670027Z"}]},"request_id":"94044fed-865c-4f41-8ea3-c18f49c5321f","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443991.6138256} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e541a4e0-3d2a-11ef-b23c-0125361f42d1"},"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/8e002dfe-1eac-4463-b080-c1030e4d3be1? 200 24ms","method":"GET","requestID":"e5412fb0-3d2a-11ef-b23c-0125361f42d1","responseTime":24,"status":200,"url":"/devices/8e002dfe-1eac-4463-b080-c1030e4d3be1?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/4085ddba-828f-404c-9c09-1898dc0baeaa? 200 22ms","method":"GET","requestID":"e541a4e0-3d2a-11ef-b23c-0125361f42d1","responseTime":22,"status":200,"url":"/devices/4085ddba-828f-404c-9c09-1898dc0baeaa?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ae1dd7a7-fd4d-4bc7-845c-2761f2522760"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ae1dd7a7-fd4d-4bc7-845c-2761f2522760"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ae1dd7a7-fd4d-4bc7-845c-2761f2522760"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ae1dd7a7-fd4d-4bc7-845c-2761f2522760"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ae1dd7a7-fd4d-4bc7-845c-2761f2522760"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ae1dd7a7-fd4d-4bc7-845c-2761f2522760"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ae1dd7a7-fd4d-4bc7-845c-2761f2522760"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ae1dd7a7-fd4d-4bc7-845c-2761f2522760"},"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/ae1dd7a7-fd4d-4bc7-845c-2761f2522760"},"level":"info","message":"Successfully running experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:31Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.459401,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:31Z"} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Received request.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e002dfe-1eac-4463-b080-c1030e4d3be1","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/8e002dfe-1eac-4463-b080-c1030e4d3be1","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443991,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5MX0.4624h4-p5ZUzLLKucsTOWMdUZIRgfoYv6IrmxfAb518"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e54d3da0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Sent response.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.668177,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4085ddba-828f-404c-9c09-1898dc0baeaa","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/4085ddba-828f-404c-9c09-1898dc0baeaa","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443991,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5MX0.4624h4-p5ZUzLLKucsTOWMdUZIRgfoYv6IrmxfAb518"} 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":"e54db2d0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:31Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.053185,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:31Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e002dfe-1eac-4463-b080-c1030e4d3be1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"502e0761-8705-4401-9ff5-2ec3d3058899","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443991.6894603} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e002dfe-1eac-4463-b080-c1030e4d3be1","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8e002dfe-1eac-4463-b080-c1030e4d3be1","object_type":"device","rebac_allow":false,"scope_allow":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":"e54e2800-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e002dfe-1eac-4463-b080-c1030e4d3be1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e002dfe-1eac-4463-b080-c1030e4d3be1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:29.432327940Z"}]},"request_id":"93db95ec-1c65-47af-9357-6ac413d8c783","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443991.6916075} 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":"e54d3da0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4085ddba-828f-404c-9c09-1898dc0baeaa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4085ddba-828f-404c-9c09-1898dc0baeaa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:29.486670027Z"}]},"request_id":"d4f50dbb-4cf0-4ba7-997e-cf8bb82e104b","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443991.6955402} device-1 | {"level":"info","message":"POST /devices/8e002dfe-1eac-4463-b080-c1030e4d3be1/signaling 200 17ms","method":"POST","requestID":"e54e2800-3d2a-11ef-b23c-0125361f42d1","responseTime":17,"status":200,"url":"/devices/8e002dfe-1eac-4463-b080-c1030e4d3be1/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":"e54db2d0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fae1dd7a7-fd4d-4bc7-845c-2761f2522760#owner@http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fae1dd7a7-fd4d-4bc7-845c-2761f2522760","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"f98441fd-e051-4928-9860-266a61c82eb0","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443991.7019906} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"371ee6ae-8fbb-4a90-bb8e-72e479ba2287","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443991.7022696} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/8e002dfe-1eac-4463-b080-c1030e4d3be1? 200 31ms","method":"GET","requestID":"e54d3da0-3d2a-11ef-b23c-0125361f42d1","responseTime":31,"status":200,"url":"/devices/8e002dfe-1eac-4463-b080-c1030e4d3be1?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"level":"info","message":"POST /relations/update 200 23ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"20afa2bcfd9eb33bc304c2ef1344bee0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":23}} device-1 | {"level":"info","message":"GET /devices/4085ddba-828f-404c-9c09-1898dc0baeaa? 200 29ms","method":"GET","requestID":"e54db2d0-3d2a-11ef-b23c-0125361f42d1","responseTime":29,"status":200,"url":"/devices/4085ddba-828f-404c-9c09-1898dc0baeaa?"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:31Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4085ddba-828f-404c-9c09-1898dc0baeaa","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1196ea09-bf53-4c08-b911-8323fd09c328","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443991.7075984} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.062601,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4085ddba-828f-404c-9c09-1898dc0baeaa","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4085ddba-828f-404c-9c09-1898dc0baeaa","object_type":"device","rebac_allow":false,"scope_allow":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":"e5515c50-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/4085ddba-828f-404c-9c09-1898dc0baeaa/signaling 200 15ms","method":"POST","requestID":"e5515c50-3d2a-11ef-b23c-0125361f42d1","responseTime":15,"status":200,"url":"/devices/4085ddba-828f-404c-9c09-1898dc0baeaa/signaling"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:31Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/ae1dd7a7-fd4d-4bc7-845c-2761f2522760","user":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"08/Jul/2024:13:06:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"777","request_time":"0.174","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"20afa2bcfd9eb33bc304c2ef1344bee0"} experiment-1 | {"level":"info","message":"POST /experiments? 201 170ms","method":"POST","requestID":"20afa2bcfd9eb33bc304c2ef1344bee0","responseTime":170,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e002dfe-1eac-4463-b080-c1030e4d3be1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c1a1966a-d5f4-4289-bd50-0a89af34b571","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443991.7202766} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.853604,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e002dfe-1eac-4463-b080-c1030e4d3be1","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8e002dfe-1eac-4463-b080-c1030e4d3be1","object_type":"device","rebac_allow":false,"scope_allow":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":"e5535820-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5MX0.4624h4-p5ZUzLLKucsTOWMdUZIRgfoYv6IrmxfAb518","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"22f67ff05566cc28aeb0c76a3a976d4f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/8e002dfe-1eac-4463-b080-c1030e4d3be1/signaling 200 13ms","method":"POST","requestID":"e5535820-3d2a-11ef-b23c-0125361f42d1","responseTime":13,"status":200,"url":"/devices/8e002dfe-1eac-4463-b080-c1030e4d3be1/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:31Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.949362,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e002dfe-1eac-4463-b080-c1030e4d3be1","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/8e002dfe-1eac-4463-b080-c1030e4d3be1","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443991,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5MX0.4624h4-p5ZUzLLKucsTOWMdUZIRgfoYv6IrmxfAb518"} 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":"22f67ff05566cc28aeb0c76a3a976d4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:31Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e002dfe-1eac-4463-b080-c1030e4d3be1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e002dfe-1eac-4463-b080-c1030e4d3be1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:29.432327940Z"}]},"request_id":"377f1b8e-634c-40ce-bf28-3bb55f4130b7","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443991.735774} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4085ddba-828f-404c-9c09-1898dc0baeaa","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bb64a53f-304e-4401-8313-70b0f9767794","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443991.73598} 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":"22f67ff05566cc28aeb0c76a3a976d4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.261965,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4085ddba-828f-404c-9c09-1898dc0baeaa","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4085ddba-828f-404c-9c09-1898dc0baeaa","object_type":"device","rebac_allow":false,"scope_allow":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":"e555f030-3d2a-11ef-b23c-0125361f42d1"},"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":"08/Jul/2024:13:06:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8e002dfe-1eac-4463-b080-c1030e4d3be1? 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":"22f67ff05566cc28aeb0c76a3a976d4f"} device-1 | {"level":"info","message":"GET /devices/8e002dfe-1eac-4463-b080-c1030e4d3be1? 200 14ms","method":"GET","requestID":"22f67ff05566cc28aeb0c76a3a976d4f","responseTime":14,"status":200,"url":"/devices/8e002dfe-1eac-4463-b080-c1030e4d3be1?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/4085ddba-828f-404c-9c09-1898dc0baeaa/signaling 200 12ms","method":"POST","requestID":"e555f030-3d2a-11ef-b23c-0125361f42d1","responseTime":12,"status":200,"url":"/devices/4085ddba-828f-404c-9c09-1898dc0baeaa/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ae1dd7a7-fd4d-4bc7-845c-2761f2522760"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ae1dd7a7-fd4d-4bc7-845c-2761f2522760"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"b0e7a27a-2d66-4eda-959b-660652fd0077"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"1a922f8a-514d-4f65-b254-e7d37cc0aab5"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"e5a9af40-f9a3-47ff-8ea6-736fd7ba74b3"}]},"level":"info","message":"Built pairwise service configurations"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/4085ddba-828f-404c-9c09-1898dc0baeaa"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/8e002dfe-1eac-4463-b080-c1030e4d3be1"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5MX0.4624h4-p5ZUzLLKucsTOWMdUZIRgfoYv6IrmxfAb518","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f80442d610a53d4200389d2a35ef9c10","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:58600","level":"info","msg":"Received request.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:31Z"} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Received request.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:31Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.291626,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:31Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443991,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5MX0.4624h4-p5ZUzLLKucsTOWMdUZIRgfoYv6IrmxfAb518"} 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":"e5586130-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Sent response.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.029311,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4085ddba-828f-404c-9c09-1898dc0baeaa","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/4085ddba-828f-404c-9c09-1898dc0baeaa","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443991,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5MX0.4624h4-p5ZUzLLKucsTOWMdUZIRgfoYv6IrmxfAb518"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f80442d610a53d4200389d2a35ef9c10"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4085ddba-828f-404c-9c09-1898dc0baeaa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4085ddba-828f-404c-9c09-1898dc0baeaa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:29.486670027Z"}]},"request_id":"8be56b25-07d0-4e45-a3ce-cd2635e412a6","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443991.7570455} 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":"f80442d610a53d4200389d2a35ef9c10"},"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":"08/Jul/2024:13:06:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4085ddba-828f-404c-9c09-1898dc0baeaa? 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":"f80442d610a53d4200389d2a35ef9c10"} device-1 | {"level":"info","message":"GET /devices/4085ddba-828f-404c-9c09-1898dc0baeaa? 200 12ms","method":"GET","requestID":"f80442d610a53d4200389d2a35ef9c10","responseTime":12,"status":200,"url":"/devices/4085ddba-828f-404c-9c09-1898dc0baeaa?"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","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%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"ed4b7e4c-c209-4c94-b301-a6b6d8b4e704","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443991.761428} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a2fa6c53-1b94-406d-9896-93d32aad6ada","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443991.761782} 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":"e5586130-3d2a-11ef-b23c-0125361f42d1"},"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/de42ce67-5d85-4cb1-a5f5-6a55cd629c13'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/de42ce67-5d85-4cb1-a5f5-6a55cd629c13'"} 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 60ms","method":"POST","requestID":"e5586130-3d2a-11ef-b23c-0125361f42d1","responseTime":60,"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/ae1dd7a7-fd4d-4bc7-845c-2761f2522760"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:31Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e002dfe-1eac-4463-b080-c1030e4d3be1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8f1cee56-ab6e-4b88-b2a3-335a224ff46d","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443991.8451426} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.841503,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e002dfe-1eac-4463-b080-c1030e4d3be1","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8e002dfe-1eac-4463-b080-c1030e4d3be1","object_type":"device","rebac_allow":false,"scope_allow":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":"e5666af0-3d2a-11ef-b23c-0125361f42d1"},"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/8e002dfe-1eac-4463-b080-c1030e4d3be1/signaling 200 11ms","method":"POST","requestID":"e5666af0-3d2a-11ef-b23c-0125361f42d1","responseTime":11,"status":200,"url":"/devices/8e002dfe-1eac-4463-b080-c1030e4d3be1/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:31Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4085ddba-828f-404c-9c09-1898dc0baeaa","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e83ea652-a3ac-4366-98ec-32c07afd5f7d","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443991.8637726} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.901201,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4085ddba-828f-404c-9c09-1898dc0baeaa","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4085ddba-828f-404c-9c09-1898dc0baeaa","object_type":"device","rebac_allow":false,"scope_allow":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":"e5695120-3d2a-11ef-b23c-0125361f42d1"},"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/4085ddba-828f-404c-9c09-1898dc0baeaa/signaling 200 10ms","method":"POST","requestID":"e5695120-3d2a-11ef-b23c-0125361f42d1","responseTime":10,"status":200,"url":"/devices/4085ddba-828f-404c-9c09-1898dc0baeaa/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/4085ddba-828f-404c-9c09-1898dc0baeaa'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/4085ddba-828f-404c-9c09-1898dc0baeaa'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/8e002dfe-1eac-4463-b080-c1030e4d3be1'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/de42ce67-5d85-4cb1-a5f5-6a55cd629c13' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"de42ce67-5d85-4cb1-a5f5-6a55cd629c13","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":"a15479cdfd6fbf2149ba8617f6cbdd28","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/4085ddba-828f-404c-9c09-1898dc0baeaa"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/8e002dfe-1eac-4463-b080-c1030e4d3be1"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/de42ce67-5d85-4cb1-a5f5-6a55cd629c13"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"a15479cdfd6fbf2149ba8617f6cbdd28","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:06:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"a15479cdfd6fbf2149ba8617f6cbdd28"} device-1 | {"data":{"peerconnection":"de42ce67-5d85-4cb1-a5f5-6a55cd629c13","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"de42ce67-5d85-4cb1-a5f5-6a55cd629c13","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/de42ce67-5d85-4cb1-a5f5-6a55cd629c13' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"de42ce67-5d85-4cb1-a5f5-6a55cd629c13","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/4085ddba-828f-404c-9c09-1898dc0baeaa"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/8e002dfe-1eac-4463-b080-c1030e4d3be1"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/de42ce67-5d85-4cb1-a5f5-6a55cd629c13"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"49b9ea7e443e4595455cb4bda13f0d10","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:31Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fde42ce67-5d85-4cb1-a5f5-6a55cd629c13","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"97acba53-f775-466c-b9f8-0b11c2d9d960","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443991.9346058} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.759475,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/de42ce67-5d85-4cb1-a5f5-6a55cd629c13","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/de42ce67-5d85-4cb1-a5f5-6a55cd629c13","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":"e5742690-3d2a-11ef-b23c-0125361f42d1"},"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/de42ce67-5d85-4cb1-a5f5-6a55cd629c13 200 10ms","method":"GET","requestID":"e5742690-3d2a-11ef-b23c-0125361f42d1","responseTime":10,"status":200,"url":"/peerconnections/de42ce67-5d85-4cb1-a5f5-6a55cd629c13"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 42ms","method":"POST","requestID":"49b9ea7e443e4595455cb4bda13f0d10","responseTime":42,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:06:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch","requestID":"49b9ea7e443e4595455cb4bda13f0d10"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:31Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4085ddba-828f-404c-9c09-1898dc0baeaa","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5f134ccb-c9e1-4e50-9f81-ac7f73fcb031","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443991.9713776} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.551085,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4085ddba-828f-404c-9c09-1898dc0baeaa","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4085ddba-828f-404c-9c09-1898dc0baeaa","object_type":"device","rebac_allow":false,"scope_allow":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":"e579cbe0-3d2a-11ef-b23c-0125361f42d1"},"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/4085ddba-828f-404c-9c09-1898dc0baeaa/signaling 200 10ms","method":"POST","requestID":"e579cbe0-3d2a-11ef-b23c-0125361f42d1","responseTime":10,"status":200,"url":"/devices/4085ddba-828f-404c-9c09-1898dc0baeaa/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:31Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e002dfe-1eac-4463-b080-c1030e4d3be1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"193ac621-7c67-4c49-abb0-0b1de158face","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443991.9843302} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.094836,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e002dfe-1eac-4463-b080-c1030e4d3be1","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8e002dfe-1eac-4463-b080-c1030e4d3be1","object_type":"device","rebac_allow":false,"scope_allow":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":"e57bc7b0-3d2a-11ef-b23c-0125361f42d1"},"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/8e002dfe-1eac-4463-b080-c1030e4d3be1/signaling 200 11ms","method":"POST","requestID":"e57bc7b0-3d2a-11ef-b23c-0125361f42d1","responseTime":11,"status":200,"url":"/devices/8e002dfe-1eac-4463-b080-c1030e4d3be1/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5Mn0.G3zWwyVRyNVLKWT3eTYjokr2yccJtEBsFiG_IT6PqwQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"5ae0a16ebb3e65bf7db9929c40f4d189","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/ae1dd7a7-fd4d-4bc7-845c-2761f2522760"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:32Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.270917,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ae1dd7a7-fd4d-4bc7-845c-2761f2522760","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/ae1dd7a7-fd4d-4bc7-845c-2761f2522760","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443992,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5Mn0.G3zWwyVRyNVLKWT3eTYjokr2yccJtEBsFiG_IT6PqwQ"} 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":"5ae0a16ebb3e65bf7db9929c40f4d189"},"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/ae1dd7a7-fd4d-4bc7-845c-2761f2522760"} gateway-1 | {"time_local":"08/Jul/2024:13:06:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/ae1dd7a7-fd4d-4bc7-845c-2761f2522760 HTTP/1.1","status": "200","body_bytes_sent":"850","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5ae0a16ebb3e65bf7db9929c40f4d189"} experiment-1 | {"level":"info","message":"GET /experiments/ae1dd7a7-fd4d-4bc7-845c-2761f2522760 200 18ms","method":"GET","requestID":"5ae0a16ebb3e65bf7db9929c40f4d189","responseTime":18,"status":200,"url":"/experiments/ae1dd7a7-fd4d-4bc7-845c-2761f2522760"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5Mn0.G3zWwyVRyNVLKWT3eTYjokr2yccJtEBsFiG_IT6PqwQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"404348b029d9d12e3f4104ebd8e38b3d","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/ae1dd7a7-fd4d-4bc7-845c-2761f2522760"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:32Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.1194,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:32Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ae1dd7a7-fd4d-4bc7-845c-2761f2522760","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/ae1dd7a7-fd4d-4bc7-845c-2761f2522760","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443992,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5Mn0.G3zWwyVRyNVLKWT3eTYjokr2yccJtEBsFiG_IT6PqwQ"} 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":"404348b029d9d12e3f4104ebd8e38b3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ae1dd7a7-fd4d-4bc7-845c-2761f2522760"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:32Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.37013,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:32Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/de42ce67-5d85-4cb1-a5f5-6a55cd629c13","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:http://localhost/peerconnections/de42ce67-5d85-4cb1-a5f5-6a55cd629c13","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443992,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5Mn0.G3zWwyVRyNVLKWT3eTYjokr2yccJtEBsFiG_IT6PqwQ"} 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":"e59c6f10-3d2a-11ef-b23c-0125361f42d1"},"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/de42ce67-5d85-4cb1-a5f5-6a55cd629c13' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/de42ce67-5d85-4cb1-a5f5-6a55cd629c13' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"de42ce67-5d85-4cb1-a5f5-6a55cd629c13","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fde42ce67-5d85-4cb1-a5f5-6a55cd629c13': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fde42ce67-5d85-4cb1-a5f5-6a55cd629c13","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"ceaff950-d40a-44e7-9e05-bac76daf9c08","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443992.2181296} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e2c9a57c04627dd40c3d5c288cefa223","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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6e652546-088e-44b9-91f7-26bb08c39080","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443992.218588} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/4085ddba-828f-404c-9c09-1898dc0baeaa"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/8e002dfe-1eac-4463-b080-c1030e4d3be1"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/de42ce67-5d85-4cb1-a5f5-6a55cd629c13"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c6bbe61b447a9b91488e3031cac4ba22","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e59c6f10-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/4085ddba-828f-404c-9c09-1898dc0baeaa"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/8e002dfe-1eac-4463-b080-c1030e4d3be1"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/de42ce67-5d85-4cb1-a5f5-6a55cd629c13"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"de42ce67-5d85-4cb1-a5f5-6a55cd629c13","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/de42ce67-5d85-4cb1-a5f5-6a55cd629c13 204 45ms","method":"DELETE","requestID":"e59c6f10-3d2a-11ef-b23c-0125361f42d1","responseTime":45,"status":204,"url":"/peerconnections/de42ce67-5d85-4cb1-a5f5-6a55cd629c13"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ae1dd7a7-fd4d-4bc7-845c-2761f2522760"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:32Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4085ddba-828f-404c-9c09-1898dc0baeaa","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"041844ad-a298-446a-af34-fbc93a03e229","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443992.2702994} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.561676,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4085ddba-828f-404c-9c09-1898dc0baeaa","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4085ddba-828f-404c-9c09-1898dc0baeaa","object_type":"device","rebac_allow":false,"scope_allow":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":"e5a6cf50-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fae1dd7a7-fd4d-4bc7-845c-2761f2522760': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fae1dd7a7-fd4d-4bc7-845c-2761f2522760","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"82578276-323e-4be0-bd8f-3008677a024d","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443992.2729533} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"067369e6-9fdd-4716-967d-b355951c3576","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443992.2735832} 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":"404348b029d9d12e3f4104ebd8e38b3d"},"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/4085ddba-828f-404c-9c09-1898dc0baeaa/signaling 200 18ms","method":"POST","requestID":"e5a6cf50-3d2a-11ef-b23c-0125361f42d1","responseTime":18,"status":200,"url":"/devices/4085ddba-828f-404c-9c09-1898dc0baeaa/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:32Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e002dfe-1eac-4463-b080-c1030e4d3be1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"34001910-5daf-420c-b8a4-ee7bbfb4b221","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443992.2895837} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.013944,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e002dfe-1eac-4463-b080-c1030e4d3be1","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8e002dfe-1eac-4463-b080-c1030e4d3be1","object_type":"device","rebac_allow":false,"scope_allow":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":"e5aa03a0-3d2a-11ef-b23c-0125361f42d1"},"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/8e002dfe-1eac-4463-b080-c1030e4d3be1/signaling 200 15ms","method":"POST","requestID":"e5aa03a0-3d2a-11ef-b23c-0125361f42d1","responseTime":15,"status":200,"url":"/devices/8e002dfe-1eac-4463-b080-c1030e4d3be1/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/ae1dd7a7-fd4d-4bc7-845c-2761f2522760"} gateway-1 | {"time_local":"08/Jul/2024:13:06:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/ae1dd7a7-fd4d-4bc7-845c-2761f2522760 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":"404348b029d9d12e3f4104ebd8e38b3d"} experiment-1 | {"level":"info","message":"DELETE /experiments/ae1dd7a7-fd4d-4bc7-845c-2761f2522760 204 187ms","method":"DELETE","requestID":"404348b029d9d12e3f4104ebd8e38b3d","responseTime":187,"status":204,"url":"/experiments/ae1dd7a7-fd4d-4bc7-845c-2761f2522760"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5Mn0.G3zWwyVRyNVLKWT3eTYjokr2yccJtEBsFiG_IT6PqwQ","level":"info","message":"auth send jwt"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 145ms","method":"POST","requestID":"e2c9a57c04627dd40c3d5c288cefa223","responseTime":145,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"414efb39d7cc760024a6625d1ecfd983","responseTime":3,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:06:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.150","http_referrer":"","http_user_agent":"node-fetch","requestID":"e2c9a57c04627dd40c3d5c288cefa223"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 146ms","method":"POST","requestID":"c6bbe61b447a9b91488e3031cac4ba22","responseTime":146,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"08/Jul/2024:13:06:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.151","http_referrer":"","http_user_agent":"node-fetch","requestID":"c6bbe61b447a9b91488e3031cac4ba22"} gateway-1 | {"time_local":"08/Jul/2024:13:06:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2630","request_time":"0.910","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d8f66c198aa5ebb069deb8f5865e0f2b"} gateway-1 | {"time_local":"08/Jul/2024:13:06:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2630","request_time":"0.892","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"8c6754ca59f4d7fb85023b6b672c7c3b"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:32Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.785822,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443992,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5Mn0.G3zWwyVRyNVLKWT3eTYjokr2yccJtEBsFiG_IT6PqwQ"} 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":"414efb39d7cc760024a6625d1ecfd983"},"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/8e002dfe-1eac-4463-b080-c1030e4d3be1' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/4085ddba-828f-404c-9c09-1898dc0baeaa' 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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F763203c4-5635-4e00-a152-fe1b28f93793","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8f86291e-6de8-4252-b8a4-3bf7313052be","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443992.391984} 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":"414efb39d7cc760024a6625d1ecfd983"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"230dd2f2-4c61-4266-834f-e7c34c326cdd","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443992.3968} 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":"414efb39d7cc760024a6625d1ecfd983"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F763203c4-5635-4e00-a152-fe1b28f93793","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"e05ee9eb-0018-415c-aa24-99b2c7f2c6de","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443992.4074826} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a4556a5c-f399-49cb-963c-0d9c29b883b4","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443992.4075663} 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":"414efb39d7cc760024a6625d1ecfd983"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F763203c4-5635-4e00-a152-fe1b28f93793","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F763203c4-5635-4e00-a152-fe1b28f93793","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:32.407467321Z"}]},"request_id":"aa3674fa-c944-4bb4-8f53-477ff9a8b27c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443992.4115865} 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":"414efb39d7cc760024a6625d1ecfd983"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"414efb39d7cc760024a6625d1ecfd983"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"414efb39d7cc760024a6625d1ecfd983","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5Mn0.G3zWwyVRyNVLKWT3eTYjokr2yccJtEBsFiG_IT6PqwQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"09500cb723d9297cda964d4bf97ef907","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:32Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.63791,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443992,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5Mn0.G3zWwyVRyNVLKWT3eTYjokr2yccJtEBsFiG_IT6PqwQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"09500cb723d9297cda964d4bf97ef907"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92bde64e-cf36-401b-80aa-b28712cf407d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b8d7be29-f94c-4610-8c22-8bdbd4485e58","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443992.435388} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"09500cb723d9297cda964d4bf97ef907"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"77618d89-2486-41c5-9c18-dc2f993ab4e1","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443992.4395702} 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":"09500cb723d9297cda964d4bf97ef907"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92bde64e-cf36-401b-80aa-b28712cf407d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"1955f920-c633-48de-9012-037d3bcc0ab5","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443992.4477293} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e74823d3-75b2-42b6-be08-14f85808be4f","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443992.4479654} 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":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"09500cb723d9297cda964d4bf97ef907"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92bde64e-cf36-401b-80aa-b28712cf407d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92bde64e-cf36-401b-80aa-b28712cf407d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:32.447713685Z"}]},"request_id":"3ff21b45-6588-4136-a205-d650d1d17065","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443992.4517388} 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":"09500cb723d9297cda964d4bf97ef907"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"09500cb723d9297cda964d4bf97ef907"} device-1 | {"level":"info","message":"POST /devices? 201 34ms","method":"POST","requestID":"09500cb723d9297cda964d4bf97ef907","responseTime":34,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5Mn0.G3zWwyVRyNVLKWT3eTYjokr2yccJtEBsFiG_IT6PqwQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"db779854c77f49ffdeabafeee4324e4e","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:32Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.769488,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:32Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/92bde64e-cf36-401b-80aa-b28712cf407d","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/92bde64e-cf36-401b-80aa-b28712cf407d","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443992,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5Mn0.G3zWwyVRyNVLKWT3eTYjokr2yccJtEBsFiG_IT6PqwQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"db779854c77f49ffdeabafeee4324e4e"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92bde64e-cf36-401b-80aa-b28712cf407d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92bde64e-cf36-401b-80aa-b28712cf407d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:32.447713685Z"}]},"request_id":"97b20bc4-22f3-4e3e-bb00-913c069df9fa","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443992.9466307} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"db779854c77f49ffdeabafeee4324e4e"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"03215d87-9a26-4b1c-bb84-caf4c5fa88de","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443992.95303} 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":"db779854c77f49ffdeabafeee4324e4e"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92bde64e-cf36-401b-80aa-b28712cf407d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92bde64e-cf36-401b-80aa-b28712cf407d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:32.447713685Z"}]},"request_id":"7ed98961-05e8-41f4-adbd-9d9b9bc8776e","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443992.9656665} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"db779854c77f49ffdeabafeee4324e4e"},"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":"08/Jul/2024:13:06:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/92bde64e-cf36-401b-80aa-b28712cf407d HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.041","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"db779854c77f49ffdeabafeee4324e4e"} device-1 | {"level":"info","message":"PATCH /devices/92bde64e-cf36-401b-80aa-b28712cf407d 200 34ms","method":"PATCH","requestID":"db779854c77f49ffdeabafeee4324e4e","responseTime":34,"status":200,"url":"/devices/92bde64e-cf36-401b-80aa-b28712cf407d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5Mn0.G3zWwyVRyNVLKWT3eTYjokr2yccJtEBsFiG_IT6PqwQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f42d930ff3c5ed8ea781e089c070ac16","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:32Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.731303,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:32Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/92bde64e-cf36-401b-80aa-b28712cf407d","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/92bde64e-cf36-401b-80aa-b28712cf407d","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443992,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5Mn0.G3zWwyVRyNVLKWT3eTYjokr2yccJtEBsFiG_IT6PqwQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f42d930ff3c5ed8ea781e089c070ac16"},"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":"08/Jul/2024:13:06:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/92bde64e-cf36-401b-80aa-b28712cf407d/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.024","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"f42d930ff3c5ed8ea781e089c070ac16"} device-1 | {"level":"info","message":"POST /devices/92bde64e-cf36-401b-80aa-b28712cf407d/websocket 200 19ms","method":"POST","requestID":"f42d930ff3c5ed8ea781e089c070ac16","responseTime":19,"status":200,"url":"/devices/92bde64e-cf36-401b-80aa-b28712cf407d/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/92bde64e-cf36-401b-80aa-b28712cf407d' 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":"7584c70e748daf81bd2d14da3e46094a","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:06:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/763203c4-5635-4e00-a152-fe1b28f93793/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":"7584c70e748daf81bd2d14da3e46094a"} device-1 | {"level":"info","message":"OPTIONS /devices/763203c4-5635-4e00-a152-fe1b28f93793/websocket 200 1ms","method":"OPTIONS","requestID":"7584c70e748daf81bd2d14da3e46094a","responseTime":1,"status":200,"url":"/devices/763203c4-5635-4e00-a152-fe1b28f93793/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5NH0.ePYmcWDH1lBjYx1L0egjSqN0eVcq-VYyY5Nq5vVA7jA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"2943c5fec8749f5c7f2097c97c0ffbd2","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:34Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.227392,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:34Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/763203c4-5635-4e00-a152-fe1b28f93793","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/763203c4-5635-4e00-a152-fe1b28f93793","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443994,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5NH0.ePYmcWDH1lBjYx1L0egjSqN0eVcq-VYyY5Nq5vVA7jA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2943c5fec8749f5c7f2097c97c0ffbd2"},"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":"08/Jul/2024:13:06:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/763203c4-5635-4e00-a152-fe1b28f93793/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":"2943c5fec8749f5c7f2097c97c0ffbd2"} device-1 | {"level":"info","message":"POST /devices/763203c4-5635-4e00-a152-fe1b28f93793/websocket 200 23ms","method":"POST","requestID":"2943c5fec8749f5c7f2097c97c0ffbd2","responseTime":23,"status":200,"url":"/devices/763203c4-5635-4e00-a152-fe1b28f93793/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/763203c4-5635-4e00-a152-fe1b28f93793' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5NH0.ePYmcWDH1lBjYx1L0egjSqN0eVcq-VYyY5Nq5vVA7jA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"be3888655e80bc3865d955e1a8fc2a50","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:34Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.67817,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/763203c4-5635-4e00-a152-fe1b28f93793","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/763203c4-5635-4e00-a152-fe1b28f93793","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443994,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5NH0.ePYmcWDH1lBjYx1L0egjSqN0eVcq-VYyY5Nq5vVA7jA"} 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":"be3888655e80bc3865d955e1a8fc2a50"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F763203c4-5635-4e00-a152-fe1b28f93793","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F763203c4-5635-4e00-a152-fe1b28f93793","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:32.407467321Z"}]},"request_id":"1208a7fb-33d3-4eb2-8d1b-3c02938e70a3","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443994.5566554} 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":"be3888655e80bc3865d955e1a8fc2a50"},"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":"08/Jul/2024:13:06:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/763203c4-5635-4e00-a152-fe1b28f93793? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.031","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"be3888655e80bc3865d955e1a8fc2a50"} device-1 | {"level":"info","message":"GET /devices/763203c4-5635-4e00-a152-fe1b28f93793? 200 22ms","method":"GET","requestID":"be3888655e80bc3865d955e1a8fc2a50","responseTime":22,"status":200,"url":"/devices/763203c4-5635-4e00-a152-fe1b28f93793?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5NH0.ePYmcWDH1lBjYx1L0egjSqN0eVcq-VYyY5Nq5vVA7jA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9d9d7d239ea9e7ba5b2c83ce7f0af0cb","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:34Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.223993,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/92bde64e-cf36-401b-80aa-b28712cf407d","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/92bde64e-cf36-401b-80aa-b28712cf407d","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443994,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5NH0.ePYmcWDH1lBjYx1L0egjSqN0eVcq-VYyY5Nq5vVA7jA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9d9d7d239ea9e7ba5b2c83ce7f0af0cb"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92bde64e-cf36-401b-80aa-b28712cf407d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92bde64e-cf36-401b-80aa-b28712cf407d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:32.447713685Z"}]},"request_id":"ed118b62-8977-4aac-9585-b9029b0d6da7","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443994.5846488} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9d9d7d239ea9e7ba5b2c83ce7f0af0cb"},"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":"08/Jul/2024:13:06:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/92bde64e-cf36-401b-80aa-b28712cf407d? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9d9d7d239ea9e7ba5b2c83ce7f0af0cb"} device-1 | {"level":"info","message":"GET /devices/92bde64e-cf36-401b-80aa-b28712cf407d? 200 21ms","method":"GET","requestID":"9d9d7d239ea9e7ba5b2c83ce7f0af0cb","responseTime":21,"status":200,"url":"/devices/92bde64e-cf36-401b-80aa-b28712cf407d?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5NH0.ePYmcWDH1lBjYx1L0egjSqN0eVcq-VYyY5Nq5vVA7jA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"db0d712f238cba0a41d039005f2c80eb","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:58600","level":"info","msg":"Received request.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:34Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.611223,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:34Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443994,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5NH0.ePYmcWDH1lBjYx1L0egjSqN0eVcq-VYyY5Nq5vVA7jA"} 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":"db0d712f238cba0a41d039005f2c80eb"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc1dd7c1-d75c-4835-affb-ead30344dc9c"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc1dd7c1-d75c-4835-affb-ead30344dc9c"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc1dd7c1-d75c-4835-affb-ead30344dc9c"},"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:58600","level":"info","msg":"Received request.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:34Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.210077,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/763203c4-5635-4e00-a152-fe1b28f93793","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/763203c4-5635-4e00-a152-fe1b28f93793","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443994,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5NH0.ePYmcWDH1lBjYx1L0egjSqN0eVcq-VYyY5Nq5vVA7jA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e71664e0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:34Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.178579,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/92bde64e-cf36-401b-80aa-b28712cf407d","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/92bde64e-cf36-401b-80aa-b28712cf407d","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443994,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5NH0.ePYmcWDH1lBjYx1L0egjSqN0eVcq-VYyY5Nq5vVA7jA"} 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":"e7170120-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F763203c4-5635-4e00-a152-fe1b28f93793","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F763203c4-5635-4e00-a152-fe1b28f93793","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:32.407467321Z"}]},"request_id":"8e7d1df2-b85d-4a08-955e-6680bfa18a81","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443994.683528} 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":"e71664e0-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92bde64e-cf36-401b-80aa-b28712cf407d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92bde64e-cf36-401b-80aa-b28712cf407d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:32.447713685Z"}]},"request_id":"82c342db-ca26-40a4-a069-39551d9e2546","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443994.6897428} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/763203c4-5635-4e00-a152-fe1b28f93793? 200 20ms","method":"GET","requestID":"e71664e0-3d2a-11ef-b23c-0125361f42d1","responseTime":20,"status":200,"url":"/devices/763203c4-5635-4e00-a152-fe1b28f93793?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e7170120-3d2a-11ef-b23c-0125361f42d1"},"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/92bde64e-cf36-401b-80aa-b28712cf407d? 200 21ms","method":"GET","requestID":"e7170120-3d2a-11ef-b23c-0125361f42d1","responseTime":21,"status":200,"url":"/devices/92bde64e-cf36-401b-80aa-b28712cf407d?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc1dd7c1-d75c-4835-affb-ead30344dc9c"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc1dd7c1-d75c-4835-affb-ead30344dc9c"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc1dd7c1-d75c-4835-affb-ead30344dc9c"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc1dd7c1-d75c-4835-affb-ead30344dc9c"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc1dd7c1-d75c-4835-affb-ead30344dc9c"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc1dd7c1-d75c-4835-affb-ead30344dc9c"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc1dd7c1-d75c-4835-affb-ead30344dc9c"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc1dd7c1-d75c-4835-affb-ead30344dc9c"},"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:58600","level":"info","msg":"Received request.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:34Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.035679,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:34Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc1dd7c1-d75c-4835-affb-ead30344dc9c"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Received request.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/763203c4-5635-4e00-a152-fe1b28f93793","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/763203c4-5635-4e00-a152-fe1b28f93793","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443994,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5NH0.ePYmcWDH1lBjYx1L0egjSqN0eVcq-VYyY5Nq5vVA7jA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e723ab50-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Sent response.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.755258,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/92bde64e-cf36-401b-80aa-b28712cf407d","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/92bde64e-cf36-401b-80aa-b28712cf407d","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443994,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5NH0.ePYmcWDH1lBjYx1L0egjSqN0eVcq-VYyY5Nq5vVA7jA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e7242080-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:34Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F763203c4-5635-4e00-a152-fe1b28f93793","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e34ec8d5-4c70-4e63-b1fd-364ef355ca8e","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443994.7691166} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F763203c4-5635-4e00-a152-fe1b28f93793","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F763203c4-5635-4e00-a152-fe1b28f93793","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:32.407467321Z"}]},"request_id":"20d1bb45-a570-4790-ae70-c42a5c934169","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443994.7736485} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.97127,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/763203c4-5635-4e00-a152-fe1b28f93793","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/763203c4-5635-4e00-a152-fe1b28f93793","object_type":"device","rebac_allow":false,"scope_allow":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":"e7246ea0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":17}} 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":"e723ab50-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92bde64e-cf36-401b-80aa-b28712cf407d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92bde64e-cf36-401b-80aa-b28712cf407d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:32.447713685Z"}]},"request_id":"0c7a1da2-e807-46c3-b61c-d4572cc2796b","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443994.7792346} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdc1dd7c1-d75c-4835-affb-ead30344dc9c#owner@http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdc1dd7c1-d75c-4835-affb-ead30344dc9c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"e9c19992-9153-45e9-a761-acabd6e03210","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443994.7813258} 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":"e7242080-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bdc5e600-e1e9-4ee8-b482-98fbabb4641e","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443994.789237} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"level":"info","message":"POST /relations/update 200 23ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"db0d712f238cba0a41d039005f2c80eb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":23}} device-1 | {"level":"info","message":"POST /devices/763203c4-5635-4e00-a152-fe1b28f93793/signaling 200 30ms","method":"POST","requestID":"e7246ea0-3d2a-11ef-b23c-0125361f42d1","responseTime":30,"status":200,"url":"/devices/763203c4-5635-4e00-a152-fe1b28f93793/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/763203c4-5635-4e00-a152-fe1b28f93793? 200 35ms","method":"GET","requestID":"e723ab50-3d2a-11ef-b23c-0125361f42d1","responseTime":35,"status":200,"url":"/devices/763203c4-5635-4e00-a152-fe1b28f93793?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/92bde64e-cf36-401b-80aa-b28712cf407d? 200 34ms","method":"GET","requestID":"e7242080-3d2a-11ef-b23c-0125361f42d1","responseTime":34,"status":200,"url":"/devices/92bde64e-cf36-401b-80aa-b28712cf407d?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:34Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92bde64e-cf36-401b-80aa-b28712cf407d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"31b0827f-68b4-4d41-a80e-bd5e6f20acb5","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443994.8018737} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.623551,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:34Z"} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Received request.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/92bde64e-cf36-401b-80aa-b28712cf407d","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/92bde64e-cf36-401b-80aa-b28712cf407d","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/dc1dd7c1-d75c-4835-affb-ead30344dc9c","user":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"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":"e7299ec0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} gateway-1 | {"time_local":"08/Jul/2024:13:06:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"781","request_time":"0.210","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"db0d712f238cba0a41d039005f2c80eb"} experiment-1 | {"level":"info","message":"POST /experiments? 201 202ms","method":"POST","requestID":"db0d712f238cba0a41d039005f2c80eb","responseTime":202,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F763203c4-5635-4e00-a152-fe1b28f93793","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e752edfe-e84d-4a54-8741-5ee309f630c3","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443994.8051517} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Sent response.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.125486,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/763203c4-5635-4e00-a152-fe1b28f93793","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/763203c4-5635-4e00-a152-fe1b28f93793","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"level":"info","message":"POST /authorize 200 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":"e72a13f0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"POST /devices/92bde64e-cf36-401b-80aa-b28712cf407d/signaling 200 11ms","method":"POST","requestID":"e7299ec0-3d2a-11ef-b23c-0125361f42d1","responseTime":11,"status":200,"url":"/devices/92bde64e-cf36-401b-80aa-b28712cf407d/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5NH0.ePYmcWDH1lBjYx1L0egjSqN0eVcq-VYyY5Nq5vVA7jA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"da4018442ea718ce6e86ee453303ff69","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/763203c4-5635-4e00-a152-fe1b28f93793/signaling 200 12ms","method":"POST","requestID":"e72a13f0-3d2a-11ef-b23c-0125361f42d1","responseTime":12,"status":200,"url":"/devices/763203c4-5635-4e00-a152-fe1b28f93793/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:34Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.682124,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:34Z"} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Received request.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/763203c4-5635-4e00-a152-fe1b28f93793","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/763203c4-5635-4e00-a152-fe1b28f93793","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443994,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5NH0.ePYmcWDH1lBjYx1L0egjSqN0eVcq-VYyY5Nq5vVA7jA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"da4018442ea718ce6e86ee453303ff69"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92bde64e-cf36-401b-80aa-b28712cf407d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"80e9b664-4395-4814-a0a3-20908d38d3bc","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443994.8184724} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Sent response.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.54399,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/92bde64e-cf36-401b-80aa-b28712cf407d","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/92bde64e-cf36-401b-80aa-b28712cf407d","object_type":"device","rebac_allow":false,"scope_allow":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":"e72c5de0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F763203c4-5635-4e00-a152-fe1b28f93793","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F763203c4-5635-4e00-a152-fe1b28f93793","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:32.407467321Z"}]},"request_id":"e72d2d79-428e-43e9-b173-e522bed0f0a5","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443994.8233013} device-1 | {"level":"info","message":"POST /devices/92bde64e-cf36-401b-80aa-b28712cf407d/signaling 200 9ms","method":"POST","requestID":"e72c5de0-3d2a-11ef-b23c-0125361f42d1","responseTime":9,"status":200,"url":"/devices/92bde64e-cf36-401b-80aa-b28712cf407d/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":"da4018442ea718ce6e86ee453303ff69"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc1dd7c1-d75c-4835-affb-ead30344dc9c"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc1dd7c1-d75c-4835-affb-ead30344dc9c"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"f0572ce2-347a-47c0-9aed-4f64939dbe08"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"96580e47-56e8-47bf-922e-bbf924ecb5f9"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"cfe960a0-76d9-4409-88f0-ed1a4be41f66"}]},"level":"info","message":"Built pairwise service configurations"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/763203c4-5635-4e00-a152-fe1b28f93793"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/92bde64e-cf36-401b-80aa-b28712cf407d"}],"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":"08/Jul/2024:13:06:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/763203c4-5635-4e00-a152-fe1b28f93793? 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":"da4018442ea718ce6e86ee453303ff69"} device-1 | {"level":"info","message":"GET /devices/763203c4-5635-4e00-a152-fe1b28f93793? 200 17ms","method":"GET","requestID":"da4018442ea718ce6e86ee453303ff69","responseTime":17,"status":200,"url":"/devices/763203c4-5635-4e00-a152-fe1b28f93793?"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:34Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.825018,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:34Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443994,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5NH0.ePYmcWDH1lBjYx1L0egjSqN0eVcq-VYyY5Nq5vVA7jA"} 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":"e72e59b0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5NH0.ePYmcWDH1lBjYx1L0egjSqN0eVcq-VYyY5Nq5vVA7jA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7f8a849cfa6a471f093b0e6063ebe1b8","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:34Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.734457,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/92bde64e-cf36-401b-80aa-b28712cf407d","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/92bde64e-cf36-401b-80aa-b28712cf407d","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443994,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5NH0.ePYmcWDH1lBjYx1L0egjSqN0eVcq-VYyY5Nq5vVA7jA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7f8a849cfa6a471f093b0e6063ebe1b8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","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%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"f9d09d20-0965-41c6-88f4-045d28cf5aec","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443994.8435838} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a1e72c74-26d0-4e3c-90aa-0ec82d09d693","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443994.8438256} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92bde64e-cf36-401b-80aa-b28712cf407d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92bde64e-cf36-401b-80aa-b28712cf407d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:32.447713685Z"}]},"request_id":"9606946c-be17-4ae7-b33e-47a7307c3251","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443994.844439} 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":"e72e59b0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7f8a849cfa6a471f093b0e6063ebe1b8"},"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":"08/Jul/2024:13:06:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/92bde64e-cf36-401b-80aa-b28712cf407d? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7f8a849cfa6a471f093b0e6063ebe1b8"} device-1 | {"level":"info","message":"GET /devices/92bde64e-cf36-401b-80aa-b28712cf407d? 200 14ms","method":"GET","requestID":"7f8a849cfa6a471f093b0e6063ebe1b8","responseTime":14,"status":200,"url":"/devices/92bde64e-cf36-401b-80aa-b28712cf407d?"} 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/f04647a0-37e7-47a9-8d15-e8f52da311af'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/f04647a0-37e7-47a9-8d15-e8f52da311af'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 33ms","method":"POST","requestID":"e72e59b0-3d2a-11ef-b23c-0125361f42d1","responseTime":33,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc1dd7c1-d75c-4835-affb-ead30344dc9c"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:34Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F763203c4-5635-4e00-a152-fe1b28f93793","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8275efb5-3f79-4f1b-9897-3d8aaa337858","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443994.9008236} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.779557,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/763203c4-5635-4e00-a152-fe1b28f93793","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/763203c4-5635-4e00-a152-fe1b28f93793","object_type":"device","rebac_allow":false,"scope_allow":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":"e738e100-3d2a-11ef-b23c-0125361f42d1"},"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/763203c4-5635-4e00-a152-fe1b28f93793/signaling 200 9ms","method":"POST","requestID":"e738e100-3d2a-11ef-b23c-0125361f42d1","responseTime":9,"status":200,"url":"/devices/763203c4-5635-4e00-a152-fe1b28f93793/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:34Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92bde64e-cf36-401b-80aa-b28712cf407d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c0053739-879f-4ebb-a50d-f6df72644ecd","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443994.9121222} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.154216,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/92bde64e-cf36-401b-80aa-b28712cf407d","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/92bde64e-cf36-401b-80aa-b28712cf407d","object_type":"device","rebac_allow":false,"scope_allow":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":"e73ab5c0-3d2a-11ef-b23c-0125361f42d1"},"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/92bde64e-cf36-401b-80aa-b28712cf407d/signaling 200 8ms","method":"POST","requestID":"e73ab5c0-3d2a-11ef-b23c-0125361f42d1","responseTime":8,"status":200,"url":"/devices/92bde64e-cf36-401b-80aa-b28712cf407d/signaling"} device-1 | {"data":{"peerconnection":"f04647a0-37e7-47a9-8d15-e8f52da311af","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/763203c4-5635-4e00-a152-fe1b28f93793'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/f04647a0-37e7-47a9-8d15-e8f52da311af' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f04647a0-37e7-47a9-8d15-e8f52da311af","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/763203c4-5635-4e00-a152-fe1b28f93793'"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d0485bb5380698b3f123962b069acf3f","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/763203c4-5635-4e00-a152-fe1b28f93793"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/92bde64e-cf36-401b-80aa-b28712cf407d"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/f04647a0-37e7-47a9-8d15-e8f52da311af"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"d0485bb5380698b3f123962b069acf3f","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:06: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":"d0485bb5380698b3f123962b069acf3f"} device-1 | {"data":{"peerconnection":"f04647a0-37e7-47a9-8d15-e8f52da311af","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"f04647a0-37e7-47a9-8d15-e8f52da311af","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/f04647a0-37e7-47a9-8d15-e8f52da311af' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f04647a0-37e7-47a9-8d15-e8f52da311af","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":"f432a7a284c6e2d6eb0f552f99861991","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/763203c4-5635-4e00-a152-fe1b28f93793"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/92bde64e-cf36-401b-80aa-b28712cf407d"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/f04647a0-37e7-47a9-8d15-e8f52da311af"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:36Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff04647a0-37e7-47a9-8d15-e8f52da311af","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"62a27573-f6e7-44a6-afb6-d0e006a6b52d","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443997.0000644} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.724929,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f04647a0-37e7-47a9-8d15-e8f52da311af","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/f04647a0-37e7-47a9-8d15-e8f52da311af","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":"e8790220-3d2a-11ef-b23c-0125361f42d1"},"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/f04647a0-37e7-47a9-8d15-e8f52da311af 200 11ms","method":"GET","requestID":"e8790220-3d2a-11ef-b23c-0125361f42d1","responseTime":11,"status":200,"url":"/peerconnections/f04647a0-37e7-47a9-8d15-e8f52da311af"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 45ms","method":"POST","requestID":"f432a7a284c6e2d6eb0f552f99861991","responseTime":45,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:06:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch","requestID":"f432a7a284c6e2d6eb0f552f99861991"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:37Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F763203c4-5635-4e00-a152-fe1b28f93793","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4f4e2476-da15-4291-ae41-00e24656a5b8","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443997.0354316} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.484556,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/763203c4-5635-4e00-a152-fe1b28f93793","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/763203c4-5635-4e00-a152-fe1b28f93793","object_type":"device","rebac_allow":false,"scope_allow":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":"e87e8060-3d2a-11ef-b23c-0125361f42d1"},"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/763203c4-5635-4e00-a152-fe1b28f93793/signaling 200 10ms","method":"POST","requestID":"e87e8060-3d2a-11ef-b23c-0125361f42d1","responseTime":10,"status":200,"url":"/devices/763203c4-5635-4e00-a152-fe1b28f93793/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:37Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92bde64e-cf36-401b-80aa-b28712cf407d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"71533cd9-1408-4a7e-be4f-f97e145732db","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443997.0481782} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.538106,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/92bde64e-cf36-401b-80aa-b28712cf407d","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/92bde64e-cf36-401b-80aa-b28712cf407d","object_type":"device","rebac_allow":false,"scope_allow":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":"e8807c30-3d2a-11ef-b23c-0125361f42d1"},"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/92bde64e-cf36-401b-80aa-b28712cf407d/signaling 200 10ms","method":"POST","requestID":"e8807c30-3d2a-11ef-b23c-0125361f42d1","responseTime":10,"status":200,"url":"/devices/92bde64e-cf36-401b-80aa-b28712cf407d/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5N30.AdUsSJP6gUohMdi9QrGZ3nhGB8LMywDVjeS0AMK6KN0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1a43f4f9f731676549a8da5e6a042c0c","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/dc1dd7c1-d75c-4835-affb-ead30344dc9c"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:37Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.222421,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/dc1dd7c1-d75c-4835-affb-ead30344dc9c","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/dc1dd7c1-d75c-4835-affb-ead30344dc9c","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443997,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5N30.AdUsSJP6gUohMdi9QrGZ3nhGB8LMywDVjeS0AMK6KN0"} 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":"1a43f4f9f731676549a8da5e6a042c0c"},"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/dc1dd7c1-d75c-4835-affb-ead30344dc9c"} gateway-1 | {"time_local":"08/Jul/2024:13:06:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/dc1dd7c1-d75c-4835-affb-ead30344dc9c HTTP/1.1","status": "200","body_bytes_sent":"854","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1a43f4f9f731676549a8da5e6a042c0c"} experiment-1 | {"level":"info","message":"GET /experiments/dc1dd7c1-d75c-4835-affb-ead30344dc9c 200 17ms","method":"GET","requestID":"1a43f4f9f731676549a8da5e6a042c0c","responseTime":17,"status":200,"url":"/experiments/dc1dd7c1-d75c-4835-affb-ead30344dc9c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5N30.AdUsSJP6gUohMdi9QrGZ3nhGB8LMywDVjeS0AMK6KN0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"75cc12f1965e3ed8a4198ff2008e2f57","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/dc1dd7c1-d75c-4835-affb-ead30344dc9c"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:37Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.174512,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:37Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/dc1dd7c1-d75c-4835-affb-ead30344dc9c","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/dc1dd7c1-d75c-4835-affb-ead30344dc9c","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443997,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5N30.AdUsSJP6gUohMdi9QrGZ3nhGB8LMywDVjeS0AMK6KN0"} 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":"75cc12f1965e3ed8a4198ff2008e2f57"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc1dd7c1-d75c-4835-affb-ead30344dc9c"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:37Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.139308,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:37Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f04647a0-37e7-47a9-8d15-e8f52da311af","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:http://localhost/peerconnections/f04647a0-37e7-47a9-8d15-e8f52da311af","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443997,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5N30.AdUsSJP6gUohMdi9QrGZ3nhGB8LMywDVjeS0AMK6KN0"} 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":"e8a7da50-3d2a-11ef-b23c-0125361f42d1"},"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/f04647a0-37e7-47a9-8d15-e8f52da311af' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/f04647a0-37e7-47a9-8d15-e8f52da311af' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f04647a0-37e7-47a9-8d15-e8f52da311af","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff04647a0-37e7-47a9-8d15-e8f52da311af': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff04647a0-37e7-47a9-8d15-e8f52da311af","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"bb053eba-d53f-42a6-add3-d2e340c3543e","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443997.330733} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"57f521e4-8360-413d-9621-33c3b489b58e","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443997.3310518} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a13d29f2ae49e155daff69894f99d987","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e8a7da50-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f071240dbb93a2bdc9774297a69e57c5","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/763203c4-5635-4e00-a152-fe1b28f93793"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/92bde64e-cf36-401b-80aa-b28712cf407d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f04647a0-37e7-47a9-8d15-e8f52da311af"}}},"level":"info","message":"received a callback"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/763203c4-5635-4e00-a152-fe1b28f93793"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/92bde64e-cf36-401b-80aa-b28712cf407d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f04647a0-37e7-47a9-8d15-e8f52da311af"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/f04647a0-37e7-47a9-8d15-e8f52da311af 204 44ms","method":"DELETE","requestID":"e8a7da50-3d2a-11ef-b23c-0125361f42d1","responseTime":44,"status":204,"url":"/peerconnections/f04647a0-37e7-47a9-8d15-e8f52da311af"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/763203c4-5635-4e00-a152-fe1b28f93793'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc1dd7c1-d75c-4835-affb-ead30344dc9c"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:37Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F763203c4-5635-4e00-a152-fe1b28f93793","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b6234850-aeb9-437d-a24e-5d730b563c91","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443997.369472} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.889318,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/763203c4-5635-4e00-a152-fe1b28f93793","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/763203c4-5635-4e00-a152-fe1b28f93793","object_type":"device","rebac_allow":false,"scope_allow":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":"e8b19e50-3d2a-11ef-b23c-0125361f42d1"},"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/763203c4-5635-4e00-a152-fe1b28f93793/signaling 200 10ms","method":"POST","requestID":"e8b19e50-3d2a-11ef-b23c-0125361f42d1","responseTime":10,"status":200,"url":"/devices/763203c4-5635-4e00-a152-fe1b28f93793/signaling"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdc1dd7c1-d75c-4835-affb-ead30344dc9c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdc1dd7c1-d75c-4835-affb-ead30344dc9c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"78d84fdb-44bf-41ad-b320-5e454959b88a","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443997.3759673} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"79611d0f-2315-4ab9-9115-da58ac1ed67f","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443997.3763394} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"75cc12f1965e3ed8a4198ff2008e2f57"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:37Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92bde64e-cf36-401b-80aa-b28712cf407d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d9579bdd-b86b-418a-9034-6f2bdd3e734d","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443997.3821125} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.586313,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/92bde64e-cf36-401b-80aa-b28712cf407d","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/92bde64e-cf36-401b-80aa-b28712cf407d","object_type":"device","rebac_allow":false,"scope_allow":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":"e8b37310-3d2a-11ef-b23c-0125361f42d1"},"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/92bde64e-cf36-401b-80aa-b28712cf407d/signaling 200 9ms","method":"POST","requestID":"e8b37310-3d2a-11ef-b23c-0125361f42d1","responseTime":9,"status":200,"url":"/devices/92bde64e-cf36-401b-80aa-b28712cf407d/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/dc1dd7c1-d75c-4835-affb-ead30344dc9c"} gateway-1 | {"time_local":"08/Jul/2024:13:06:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/dc1dd7c1-d75c-4835-affb-ead30344dc9c HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.165","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"75cc12f1965e3ed8a4198ff2008e2f57"} gateway-1 | {"time_local":"08/Jul/2024:13:06:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2581","request_time":"4.448","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"bef3116846da21b37407aeff3bbde3d3"} experiment-1 | {"level":"info","message":"DELETE /experiments/dc1dd7c1-d75c-4835-affb-ead30344dc9c 204 160ms","method":"DELETE","requestID":"75cc12f1965e3ed8a4198ff2008e2f57","responseTime":160,"status":204,"url":"/experiments/dc1dd7c1-d75c-4835-affb-ead30344dc9c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 111ms","method":"POST","requestID":"a13d29f2ae49e155daff69894f99d987","responseTime":111,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:06:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.117","http_referrer":"","http_user_agent":"node-fetch","requestID":"a13d29f2ae49e155daff69894f99d987"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 111ms","method":"POST","requestID":"f071240dbb93a2bdc9774297a69e57c5","responseTime":111,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:06:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.117","http_referrer":"","http_user_agent":"node-fetch","requestID":"f071240dbb93a2bdc9774297a69e57c5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5N30.AdUsSJP6gUohMdi9QrGZ3nhGB8LMywDVjeS0AMK6KN0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"31fad27967419d00a68fdfcb13369702","responseTime":3,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:06:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2490","request_time":"2.937","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0f8cd8aaa6475690c87468511ab85af0"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:37Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.884264,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:37Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443997,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5N30.AdUsSJP6gUohMdi9QrGZ3nhGB8LMywDVjeS0AMK6KN0"} 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":"31fad27967419d00a68fdfcb13369702"},"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/92bde64e-cf36-401b-80aa-b28712cf407d' 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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8b78c12-93de-4f06-9d8c-1fca54b8c5c6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"631c8613-16f2-4d5f-ab93-1fc8e31888c2","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443997.4745436} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"31fad27967419d00a68fdfcb13369702"},"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/763203c4-5635-4e00-a152-fe1b28f93793' 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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bf1edff3-0747-4279-926b-b7a627f52d66","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443997.4799109} 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":"31fad27967419d00a68fdfcb13369702"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8b78c12-93de-4f06-9d8c-1fca54b8c5c6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"6d797096-452b-4feb-ac4e-9cbbf68dcc4f","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443997.4910185} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1204bf91-1076-41c8-8dc3-d94bfb3165c8","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443997.4911046} 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":"31fad27967419d00a68fdfcb13369702"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8b78c12-93de-4f06-9d8c-1fca54b8c5c6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8b78c12-93de-4f06-9d8c-1fca54b8c5c6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:37.491001933Z"}]},"request_id":"057caeb3-e98f-482a-923c-7faac8cbcef9","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443997.4958906} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"31fad27967419d00a68fdfcb13369702"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"31fad27967419d00a68fdfcb13369702"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"31fad27967419d00a68fdfcb13369702","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5N30.AdUsSJP6gUohMdi9QrGZ3nhGB8LMywDVjeS0AMK6KN0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"38dffc04ca8846c5d9426659f0f79ee0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:37Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.690487,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:37Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443997,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5N30.AdUsSJP6gUohMdi9QrGZ3nhGB8LMywDVjeS0AMK6KN0"} 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":"38dffc04ca8846c5d9426659f0f79ee0"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F474e1f85-a195-4080-8f8e-55d3895fc113","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e8c28168-8ef3-497e-bb94-e23b3c025230","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443997.5251086} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"38dffc04ca8846c5d9426659f0f79ee0"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"42a945f6-ad9b-4c28-9cf3-02e40df091d7","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443997.5310507} 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":"38dffc04ca8846c5d9426659f0f79ee0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F474e1f85-a195-4080-8f8e-55d3895fc113","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"04d9b4b3-aa43-41ae-9589-2dacb22ca03d","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443997.5433218} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4f5f14a7-7c90-4c74-8313-261f99e5345b","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443997.5435085} 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":"38dffc04ca8846c5d9426659f0f79ee0"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F474e1f85-a195-4080-8f8e-55d3895fc113","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F474e1f85-a195-4080-8f8e-55d3895fc113","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:37.543301129Z"}]},"request_id":"f884d681-988b-49f3-b210-20ef082bc2fc","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443997.5487764} 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":"38dffc04ca8846c5d9426659f0f79ee0"},"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":"38dffc04ca8846c5d9426659f0f79ee0","responseTime":47,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/Jul/2024:13:06:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"38dffc04ca8846c5d9426659f0f79ee0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5OH0.vTCZGX5z0SMxANmU8OMyx22CgqSjxD-Io4qft1E1PTk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"eea2007cb45b5416955af9a3b340aaca","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:38Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.156211,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:38Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443998,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5OH0.vTCZGX5z0SMxANmU8OMyx22CgqSjxD-Io4qft1E1PTk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eea2007cb45b5416955af9a3b340aaca"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8b78c12-93de-4f06-9d8c-1fca54b8c5c6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8b78c12-93de-4f06-9d8c-1fca54b8c5c6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:37.491001933Z"}]},"request_id":"6d95f458-2ec7-4288-b407-3b86c1718016","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443998.0459752} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eea2007cb45b5416955af9a3b340aaca"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7c72f803-f6f6-4b7a-a7f6-497bae22802a","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443998.0520833} 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":"eea2007cb45b5416955af9a3b340aaca"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8b78c12-93de-4f06-9d8c-1fca54b8c5c6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8b78c12-93de-4f06-9d8c-1fca54b8c5c6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:37.491001933Z"}]},"request_id":"7fc13fe5-bedf-4add-a065-9cd2b01714c1","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443998.0658638} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eea2007cb45b5416955af9a3b340aaca"},"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":"08/Jul/2024:13:06:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.046","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"eea2007cb45b5416955af9a3b340aaca"} device-1 | {"level":"info","message":"PATCH /devices/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6 200 39ms","method":"PATCH","requestID":"eea2007cb45b5416955af9a3b340aaca","responseTime":39,"status":200,"url":"/devices/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5OH0.vTCZGX5z0SMxANmU8OMyx22CgqSjxD-Io4qft1E1PTk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"99504ce5b8a3079da48022e096acc61f","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:38Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.727044,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:38Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443998,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5OH0.vTCZGX5z0SMxANmU8OMyx22CgqSjxD-Io4qft1E1PTk"} 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":"99504ce5b8a3079da48022e096acc61f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6/websocket 200 21ms","method":"POST","requestID":"99504ce5b8a3079da48022e096acc61f","responseTime":21,"status":200,"url":"/devices/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6/websocket"} gateway-1 | {"time_local":"08/Jul/2024:13:06:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.026","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"99504ce5b8a3079da48022e096acc61f"} device-1 | {"level":"info","message":"device 'http://localhost/devices/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6' 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":"bbb9a3754ddf59c2850ad4d790619fc3","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:06:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/474e1f85-a195-4080-8f8e-55d3895fc113/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":"bbb9a3754ddf59c2850ad4d790619fc3"} device-1 | {"level":"info","message":"OPTIONS /devices/474e1f85-a195-4080-8f8e-55d3895fc113/websocket 200 1ms","method":"OPTIONS","requestID":"bbb9a3754ddf59c2850ad4d790619fc3","responseTime":1,"status":200,"url":"/devices/474e1f85-a195-4080-8f8e-55d3895fc113/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5OX0.V8Amb9EyVch3Y1jU7agjgWFkglYDwjJFVdIGPtXilzo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"6311172da358d590692f641b628edfa6","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:39Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.18622,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:39Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/474e1f85-a195-4080-8f8e-55d3895fc113","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/474e1f85-a195-4080-8f8e-55d3895fc113","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443999,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5OX0.V8Amb9EyVch3Y1jU7agjgWFkglYDwjJFVdIGPtXilzo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6311172da358d590692f641b628edfa6"},"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":"08/Jul/2024:13:06:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/474e1f85-a195-4080-8f8e-55d3895fc113/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":"6311172da358d590692f641b628edfa6"} device-1 | {"level":"info","message":"POST /devices/474e1f85-a195-4080-8f8e-55d3895fc113/websocket 200 23ms","method":"POST","requestID":"6311172da358d590692f641b628edfa6","responseTime":23,"status":200,"url":"/devices/474e1f85-a195-4080-8f8e-55d3895fc113/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/474e1f85-a195-4080-8f8e-55d3895fc113' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5OX0.V8Amb9EyVch3Y1jU7agjgWFkglYDwjJFVdIGPtXilzo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"1ee33d92548bc2f3c9f56918c38bbad0","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:39Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.730251,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443999,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5OX0.V8Amb9EyVch3Y1jU7agjgWFkglYDwjJFVdIGPtXilzo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1ee33d92548bc2f3c9f56918c38bbad0"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8b78c12-93de-4f06-9d8c-1fca54b8c5c6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8b78c12-93de-4f06-9d8c-1fca54b8c5c6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:37.491001933Z"}]},"request_id":"ad92bc65-5937-48e4-99bd-eacd93f78db0","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443999.5820203} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1ee33d92548bc2f3c9f56918c38bbad0"},"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/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6? 200 19ms","method":"GET","requestID":"1ee33d92548bc2f3c9f56918c38bbad0","responseTime":19,"status":200,"url":"/devices/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6?"} gateway-1 | {"time_local":"08/Jul/2024:13:06:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1ee33d92548bc2f3c9f56918c38bbad0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5OX0.V8Amb9EyVch3Y1jU7agjgWFkglYDwjJFVdIGPtXilzo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"0fc63521f4e56a91abc3561773315069","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:39Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.690245,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/474e1f85-a195-4080-8f8e-55d3895fc113","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/474e1f85-a195-4080-8f8e-55d3895fc113","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443999,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5OX0.V8Amb9EyVch3Y1jU7agjgWFkglYDwjJFVdIGPtXilzo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0fc63521f4e56a91abc3561773315069"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F474e1f85-a195-4080-8f8e-55d3895fc113","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F474e1f85-a195-4080-8f8e-55d3895fc113","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:37.543301129Z"}]},"request_id":"7867104a-eca7-4088-9483-3bd2ce7a8a31","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443999.6094577} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0fc63521f4e56a91abc3561773315069"},"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":"08/Jul/2024:13:06:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/474e1f85-a195-4080-8f8e-55d3895fc113? 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":"0fc63521f4e56a91abc3561773315069"} device-1 | {"level":"info","message":"GET /devices/474e1f85-a195-4080-8f8e-55d3895fc113? 200 20ms","method":"GET","requestID":"0fc63521f4e56a91abc3561773315069","responseTime":20,"status":200,"url":"/devices/474e1f85-a195-4080-8f8e-55d3895fc113?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5OX0.V8Amb9EyVch3Y1jU7agjgWFkglYDwjJFVdIGPtXilzo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"964288e6ab80a6f218e48855818d9c8e","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:58600","level":"info","msg":"Received request.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:39Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.803344,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443999,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5OX0.V8Amb9EyVch3Y1jU7agjgWFkglYDwjJFVdIGPtXilzo"} 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":"964288e6ab80a6f218e48855818d9c8e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a77654b1-71ad-4118-85ca-c89504216f39"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a77654b1-71ad-4118-85ca-c89504216f39"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a77654b1-71ad-4118-85ca-c89504216f39"},"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:58600","level":"info","msg":"Received request.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:39Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.036397,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:39Z"} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Received request.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443999,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5OX0.V8Amb9EyVch3Y1jU7agjgWFkglYDwjJFVdIGPtXilzo"} 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":"ea117c70-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Sent response.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.937697,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/474e1f85-a195-4080-8f8e-55d3895fc113","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/474e1f85-a195-4080-8f8e-55d3895fc113","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443999,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5OX0.V8Amb9EyVch3Y1jU7agjgWFkglYDwjJFVdIGPtXilzo"} 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":"ea11ca90-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8b78c12-93de-4f06-9d8c-1fca54b8c5c6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8b78c12-93de-4f06-9d8c-1fca54b8c5c6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:37.491001933Z"}]},"request_id":"0acb2b7d-1f00-459b-8e11-8d58e0cbebf1","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443999.68513} 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":"ea117c70-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F474e1f85-a195-4080-8f8e-55d3895fc113","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F474e1f85-a195-4080-8f8e-55d3895fc113","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:37.543301129Z"}]},"request_id":"e51bed51-1d70-435a-afc5-c277fd7608a0","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443999.686836} 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":"ea11ca90-3d2a-11ef-b23c-0125361f42d1"},"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/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6? 200 25ms","method":"GET","requestID":"ea117c70-3d2a-11ef-b23c-0125361f42d1","responseTime":25,"status":200,"url":"/devices/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/474e1f85-a195-4080-8f8e-55d3895fc113? 200 24ms","method":"GET","requestID":"ea11ca90-3d2a-11ef-b23c-0125361f42d1","responseTime":24,"status":200,"url":"/devices/474e1f85-a195-4080-8f8e-55d3895fc113?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a77654b1-71ad-4118-85ca-c89504216f39"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a77654b1-71ad-4118-85ca-c89504216f39"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a77654b1-71ad-4118-85ca-c89504216f39"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a77654b1-71ad-4118-85ca-c89504216f39"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a77654b1-71ad-4118-85ca-c89504216f39"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a77654b1-71ad-4118-85ca-c89504216f39"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a77654b1-71ad-4118-85ca-c89504216f39"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a77654b1-71ad-4118-85ca-c89504216f39"},"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/a77654b1-71ad-4118-85ca-c89504216f39"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:39Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.731298,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:39Z"} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Received request.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443999,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5OX0.V8Amb9EyVch3Y1jU7agjgWFkglYDwjJFVdIGPtXilzo"} 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":"ea232fb0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Sent response.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":3.719868,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:39Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/474e1f85-a195-4080-8f8e-55d3895fc113","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/474e1f85-a195-4080-8f8e-55d3895fc113","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443999,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5OX0.V8Amb9EyVch3Y1jU7agjgWFkglYDwjJFVdIGPtXilzo"} 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":"ea23a4e0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.982325,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:39Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8b78c12-93de-4f06-9d8c-1fca54b8c5c6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a61a7c9d-90c4-4c87-ab97-10122e621fe3","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443999.8047373} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6","object_type":"device","rebac_allow":false,"scope_allow":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":"ea241a10-3d2a-11ef-b23c-0125361f42d1"},"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/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6/signaling 200 23ms","method":"POST","requestID":"ea241a10-3d2a-11ef-b23c-0125361f42d1","responseTime":23,"status":200,"url":"/devices/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6/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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8b78c12-93de-4f06-9d8c-1fca54b8c5c6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8b78c12-93de-4f06-9d8c-1fca54b8c5c6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:37.491001933Z"}]},"request_id":"e5462347-2189-4f08-852f-c7fc11000d4b","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443999.8141901} 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":"ea232fb0-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F474e1f85-a195-4080-8f8e-55d3895fc113","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F474e1f85-a195-4080-8f8e-55d3895fc113","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:37.543301129Z"}]},"request_id":"9d33122c-97a5-45d3-9a2b-23d10ba336e4","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443999.8170722} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} 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":"ea23a4e0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa77654b1-71ad-4118-85ca-c89504216f39#owner@http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa77654b1-71ad-4118-85ca-c89504216f39","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"6d112821-1a86-470a-8a25-7de954109dfa","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443999.8232002} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"651cc3c7-5228-4492-80a4-efa1308e4b01","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443999.8238099} authorization-1 | {"level":"info","message":"POST /relations/update 200 30ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"964288e6ab80a6f218e48855818d9c8e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":30}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:39Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F474e1f85-a195-4080-8f8e-55d3895fc113","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"80a2755a-be7b-4555-a422-89208370e065","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443999.832903} device-1 | {"level":"info","message":"GET /devices/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6? 200 46ms","method":"GET","requestID":"ea232fb0-3d2a-11ef-b23c-0125361f42d1","responseTime":46,"status":200,"url":"/devices/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.162312,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/474e1f85-a195-4080-8f8e-55d3895fc113","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/474e1f85-a195-4080-8f8e-55d3895fc113","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/474e1f85-a195-4080-8f8e-55d3895fc113? 200 45ms","method":"GET","requestID":"ea23a4e0-3d2a-11ef-b23c-0125361f42d1","responseTime":45,"status":200,"url":"/devices/474e1f85-a195-4080-8f8e-55d3895fc113?"} 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":"ea2886e0-3d2a-11ef-b23c-0125361f42d1"},"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/474e1f85-a195-4080-8f8e-55d3895fc113/signaling 200 18ms","method":"POST","requestID":"ea2886e0-3d2a-11ef-b23c-0125361f42d1","responseTime":18,"status":200,"url":"/devices/474e1f85-a195-4080-8f8e-55d3895fc113/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:39Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8b78c12-93de-4f06-9d8c-1fca54b8c5c6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"87f16c06-ef97-4e78-a27b-a74b39a4959a","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443999.8481426} experiment-1 | {"data":{"experiment":"http://localhost/experiments/a77654b1-71ad-4118-85ca-c89504216f39","user":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.227251,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:39Z"} gateway-1 | {"time_local":"08/Jul/2024:13:06:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"781","request_time":"0.231","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"964288e6ab80a6f218e48855818d9c8e"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6","object_type":"device","rebac_allow":false,"scope_allow":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":"ea2b6d10-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment-1 | {"level":"info","message":"POST /experiments? 201 225ms","method":"POST","requestID":"964288e6ab80a6f218e48855818d9c8e","responseTime":225,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6/signaling 200 13ms","method":"POST","requestID":"ea2b6d10-3d2a-11ef-b23c-0125361f42d1","responseTime":13,"status":200,"url":"/devices/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5OX0.V8Amb9EyVch3Y1jU7agjgWFkglYDwjJFVdIGPtXilzo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a0de11a6acbd6ec09dbddb3bb3817bf6","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:39Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.984056,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443999,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5OX0.V8Amb9EyVch3Y1jU7agjgWFkglYDwjJFVdIGPtXilzo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a0de11a6acbd6ec09dbddb3bb3817bf6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Received request.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:39Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F474e1f85-a195-4080-8f8e-55d3895fc113","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"29cb41bb-e2bc-481e-a4bb-f7f0987816cf","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443999.862989} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Sent response.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.571177,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/474e1f85-a195-4080-8f8e-55d3895fc113","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/474e1f85-a195-4080-8f8e-55d3895fc113","object_type":"device","rebac_allow":false,"scope_allow":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":"ea2e0520-3d2a-11ef-b23c-0125361f42d1"},"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/474e1f85-a195-4080-8f8e-55d3895fc113/signaling 200 10ms","method":"POST","requestID":"ea2e0520-3d2a-11ef-b23c-0125361f42d1","responseTime":10,"status":200,"url":"/devices/474e1f85-a195-4080-8f8e-55d3895fc113/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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8b78c12-93de-4f06-9d8c-1fca54b8c5c6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8b78c12-93de-4f06-9d8c-1fca54b8c5c6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:37.491001933Z"}]},"request_id":"618d022f-4cef-4ed8-a219-8995e4dbde4a","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443999.8669193} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a77654b1-71ad-4118-85ca-c89504216f39"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a77654b1-71ad-4118-85ca-c89504216f39"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"fd362ab5-388b-4201-bfad-0255abe1aecd"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"d97d07a4-f799-40eb-ba33-4b193b6eeebd"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"124d0480-29ed-446b-b618-2f1234311927"}]},"level":"info","message":"Built pairwise service configurations"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/474e1f85-a195-4080-8f8e-55d3895fc113"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} 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":"a0de11a6acbd6ec09dbddb3bb3817bf6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a0de11a6acbd6ec09dbddb3bb3817bf6"} device-1 | {"level":"info","message":"GET /devices/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6? 200 20ms","method":"GET","requestID":"a0de11a6acbd6ec09dbddb3bb3817bf6","responseTime":20,"status":200,"url":"/devices/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6?"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:39Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.788456,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443999,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5OX0.V8Amb9EyVch3Y1jU7agjgWFkglYDwjJFVdIGPtXilzo"} 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":"ea307620-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5OX0.V8Amb9EyVch3Y1jU7agjgWFkglYDwjJFVdIGPtXilzo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d15e79de5907965a6970339db9a745ff","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","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%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"7d107bd7-55cd-43ed-a41e-3d574f237d19","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443999.8868246} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c180e3fd-df49-4d15-93cb-019c96c7c046","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443999.8870547} 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":"ea307620-3d2a-11ef-b23c-0125361f42d1"},"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:58600","level":"info","msg":"Received request.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:39Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.70725,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/474e1f85-a195-4080-8f8e-55d3895fc113","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/474e1f85-a195-4080-8f8e-55d3895fc113","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720443999,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0Mzk5OX0.V8Amb9EyVch3Y1jU7agjgWFkglYDwjJFVdIGPtXilzo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d15e79de5907965a6970339db9a745ff"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F474e1f85-a195-4080-8f8e-55d3895fc113","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F474e1f85-a195-4080-8f8e-55d3895fc113","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:37.543301129Z"}]},"request_id":"5aa58e06-42d8-4b44-8c2e-25c28aba2267","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443999.8948035} 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":"d15e79de5907965a6970339db9a745ff"},"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/f471561b-a300-49c8-aef1-bb7d402bb0d3'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/f471561b-a300-49c8-aef1-bb7d402bb0d3'"} 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":"ea307620-3d2a-11ef-b23c-0125361f42d1","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":"08/Jul/2024:13:06:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/474e1f85-a195-4080-8f8e-55d3895fc113? 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":"d15e79de5907965a6970339db9a745ff"} device-1 | {"level":"info","message":"GET /devices/474e1f85-a195-4080-8f8e-55d3895fc113? 200 22ms","method":"GET","requestID":"d15e79de5907965a6970339db9a745ff","responseTime":22,"status":200,"url":"/devices/474e1f85-a195-4080-8f8e-55d3895fc113?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a77654b1-71ad-4118-85ca-c89504216f39"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:39Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8b78c12-93de-4f06-9d8c-1fca54b8c5c6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"03aafd47-decb-4e35-916e-e5ea412e6f05","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443999.9359014} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.223985,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6","object_type":"device","rebac_allow":false,"scope_allow":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":"ea3928b0-3d2a-11ef-b23c-0125361f42d1"},"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/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6/signaling 200 9ms","method":"POST","requestID":"ea3928b0-3d2a-11ef-b23c-0125361f42d1","responseTime":9,"status":200,"url":"/devices/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:39Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F474e1f85-a195-4080-8f8e-55d3895fc113","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f976a9d7-b4e6-497a-b2b1-487638c8de54","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720443999.9475374} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.954997,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/474e1f85-a195-4080-8f8e-55d3895fc113","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/474e1f85-a195-4080-8f8e-55d3895fc113","object_type":"device","rebac_allow":false,"scope_allow":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":"ea3ad660-3d2a-11ef-b23c-0125361f42d1"},"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/474e1f85-a195-4080-8f8e-55d3895fc113/signaling 200 10ms","method":"POST","requestID":"ea3ad660-3d2a-11ef-b23c-0125361f42d1","responseTime":10,"status":200,"url":"/devices/474e1f85-a195-4080-8f8e-55d3895fc113/signaling"} device-1 | {"data":{"peerconnection":"f471561b-a300-49c8-aef1-bb7d402bb0d3","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/f471561b-a300-49c8-aef1-bb7d402bb0d3' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f471561b-a300-49c8-aef1-bb7d402bb0d3","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":"9b6f55ec91309c112fa9e9cc87f0dca0","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/474e1f85-a195-4080-8f8e-55d3895fc113"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/f471561b-a300-49c8-aef1-bb7d402bb0d3"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"9b6f55ec91309c112fa9e9cc87f0dca0","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:06:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"9b6f55ec91309c112fa9e9cc87f0dca0"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/474e1f85-a195-4080-8f8e-55d3895fc113'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/474e1f85-a195-4080-8f8e-55d3895fc113'"} device-1 | {"data":{"peerconnection":"f471561b-a300-49c8-aef1-bb7d402bb0d3","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"f471561b-a300-49c8-aef1-bb7d402bb0d3","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/f471561b-a300-49c8-aef1-bb7d402bb0d3' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f471561b-a300-49c8-aef1-bb7d402bb0d3","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":"fae32c9692201115e0af0dd64a4b5456","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/474e1f85-a195-4080-8f8e-55d3895fc113"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/f471561b-a300-49c8-aef1-bb7d402bb0d3"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:42Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff471561b-a300-49c8-aef1-bb7d402bb0d3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"84afddf0-6e75-4b35-8514-c729d3055924","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444002.0813003} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.496947,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f471561b-a300-49c8-aef1-bb7d402bb0d3","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/f471561b-a300-49c8-aef1-bb7d402bb0d3","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":"eb8075c0-3d2a-11ef-b23c-0125361f42d1"},"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/f471561b-a300-49c8-aef1-bb7d402bb0d3 200 9ms","method":"GET","requestID":"eb8075c0-3d2a-11ef-b23c-0125361f42d1","responseTime":9,"status":200,"url":"/peerconnections/f471561b-a300-49c8-aef1-bb7d402bb0d3"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 36ms","method":"POST","requestID":"fae32c9692201115e0af0dd64a4b5456","responseTime":36,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:06: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.040","http_referrer":"","http_user_agent":"node-fetch","requestID":"fae32c9692201115e0af0dd64a4b5456"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:42Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8b78c12-93de-4f06-9d8c-1fca54b8c5c6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c1cd317e-e277-479f-9781-31955ed550ef","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444002.1099524} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.347597,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6","object_type":"device","rebac_allow":false,"scope_allow":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":"eb84e290-3d2a-11ef-b23c-0125361f42d1"},"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/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6/signaling 200 9ms","method":"POST","requestID":"eb84e290-3d2a-11ef-b23c-0125361f42d1","responseTime":9,"status":200,"url":"/devices/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:42Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F474e1f85-a195-4080-8f8e-55d3895fc113","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aa767513-5e62-409d-8dba-01a4002f9075","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444002.1211011} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.379407,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/474e1f85-a195-4080-8f8e-55d3895fc113","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/474e1f85-a195-4080-8f8e-55d3895fc113","object_type":"device","rebac_allow":false,"scope_allow":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":"eb869040-3d2a-11ef-b23c-0125361f42d1"},"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/474e1f85-a195-4080-8f8e-55d3895fc113/signaling 200 10ms","method":"POST","requestID":"eb869040-3d2a-11ef-b23c-0125361f42d1","responseTime":10,"status":200,"url":"/devices/474e1f85-a195-4080-8f8e-55d3895fc113/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwMn0.EMzSkg6y7HHlmLxfYyQZtRVBJQ8fuFboLoM29GzsD-U","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b6000d9b17f68abf9099cdff832cd99a","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/a77654b1-71ad-4118-85ca-c89504216f39"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:42Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.387479,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a77654b1-71ad-4118-85ca-c89504216f39","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/a77654b1-71ad-4118-85ca-c89504216f39","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444002,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwMn0.EMzSkg6y7HHlmLxfYyQZtRVBJQ8fuFboLoM29GzsD-U"} 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":"b6000d9b17f68abf9099cdff832cd99a"},"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/a77654b1-71ad-4118-85ca-c89504216f39"} gateway-1 | {"time_local":"08/Jul/2024:13:06:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a77654b1-71ad-4118-85ca-c89504216f39 HTTP/1.1","status": "200","body_bytes_sent":"854","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b6000d9b17f68abf9099cdff832cd99a"} experiment-1 | {"level":"info","message":"GET /experiments/a77654b1-71ad-4118-85ca-c89504216f39 200 20ms","method":"GET","requestID":"b6000d9b17f68abf9099cdff832cd99a","responseTime":20,"status":200,"url":"/experiments/a77654b1-71ad-4118-85ca-c89504216f39"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwMn0.EMzSkg6y7HHlmLxfYyQZtRVBJQ8fuFboLoM29GzsD-U","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"428e9d4c16deca35fca08465777ca10a","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/a77654b1-71ad-4118-85ca-c89504216f39"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:42Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.273022,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:42Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a77654b1-71ad-4118-85ca-c89504216f39","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/a77654b1-71ad-4118-85ca-c89504216f39","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444002,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwMn0.EMzSkg6y7HHlmLxfYyQZtRVBJQ8fuFboLoM29GzsD-U"} 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":"428e9d4c16deca35fca08465777ca10a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a77654b1-71ad-4118-85ca-c89504216f39"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:42Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.045653,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:42Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f471561b-a300-49c8-aef1-bb7d402bb0d3","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:http://localhost/peerconnections/f471561b-a300-49c8-aef1-bb7d402bb0d3","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444002,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwMn0.EMzSkg6y7HHlmLxfYyQZtRVBJQ8fuFboLoM29GzsD-U"} 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":"eba5ff20-3d2a-11ef-b23c-0125361f42d1"},"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/f471561b-a300-49c8-aef1-bb7d402bb0d3' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/f471561b-a300-49c8-aef1-bb7d402bb0d3' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f471561b-a300-49c8-aef1-bb7d402bb0d3","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff471561b-a300-49c8-aef1-bb7d402bb0d3': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff471561b-a300-49c8-aef1-bb7d402bb0d3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"5ad63cf1-4893-4955-9eb0-088205340f24","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444002.3436754} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d2623e4f-6413-41b7-8590-2c19ab810000","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444002.343941} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"d1bc1d1557037193262b5d98af8a92e3","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/474e1f85-a195-4080-8f8e-55d3895fc113"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f471561b-a300-49c8-aef1-bb7d402bb0d3"}}},"level":"info","message":"received a callback"} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eba5ff20-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c1a0fe19fc94ae38523ae3616b192d04","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/474e1f85-a195-4080-8f8e-55d3895fc113"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f471561b-a300-49c8-aef1-bb7d402bb0d3"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"f471561b-a300-49c8-aef1-bb7d402bb0d3","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/f471561b-a300-49c8-aef1-bb7d402bb0d3 204 41ms","method":"DELETE","requestID":"eba5ff20-3d2a-11ef-b23c-0125361f42d1","responseTime":41,"status":204,"url":"/peerconnections/f471561b-a300-49c8-aef1-bb7d402bb0d3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a77654b1-71ad-4118-85ca-c89504216f39"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:42Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8b78c12-93de-4f06-9d8c-1fca54b8c5c6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9e4fd6bb-9b7f-4114-92d1-068920a694bc","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444002.3905954} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.109174,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6","object_type":"device","rebac_allow":false,"scope_allow":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":"ebaf9c10-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa77654b1-71ad-4118-85ca-c89504216f39': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa77654b1-71ad-4118-85ca-c89504216f39","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"17b22db2-c893-40b8-ba07-15498080d2ea","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444002.3955424} 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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1fce493c-8a43-4cf6-bdee-7ff7d4cee49b","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444002.396002} device-1 | {"level":"info","message":"POST /devices/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6/signaling 200 12ms","method":"POST","requestID":"ebaf9c10-3d2a-11ef-b23c-0125361f42d1","responseTime":12,"status":200,"url":"/devices/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"428e9d4c16deca35fca08465777ca10a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:42Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F474e1f85-a195-4080-8f8e-55d3895fc113","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"049b8f04-9719-4b19-8a39-0d22d9a29714","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444002.405375} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.241665,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/474e1f85-a195-4080-8f8e-55d3895fc113","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/474e1f85-a195-4080-8f8e-55d3895fc113","object_type":"device","rebac_allow":false,"scope_allow":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":"ebb1bef0-3d2a-11ef-b23c-0125361f42d1"},"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/474e1f85-a195-4080-8f8e-55d3895fc113/signaling 200 12ms","method":"POST","requestID":"ebb1bef0-3d2a-11ef-b23c-0125361f42d1","responseTime":12,"status":200,"url":"/devices/474e1f85-a195-4080-8f8e-55d3895fc113/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/a77654b1-71ad-4118-85ca-c89504216f39"} gateway-1 | {"time_local":"08/Jul/2024:13:06:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/a77654b1-71ad-4118-85ca-c89504216f39 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.167","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"428e9d4c16deca35fca08465777ca10a"} gateway-1 | {"time_local":"08/Jul/2024:13:06:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2974","request_time":"4.365","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"ac09777b115d9fb5bd641230e4e7637e"} experiment-1 | {"level":"info","message":"DELETE /experiments/a77654b1-71ad-4118-85ca-c89504216f39 204 161ms","method":"DELETE","requestID":"428e9d4c16deca35fca08465777ca10a","responseTime":161,"status":204,"url":"/experiments/a77654b1-71ad-4118-85ca-c89504216f39"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 122ms","method":"POST","requestID":"d1bc1d1557037193262b5d98af8a92e3","responseTime":122,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:06: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.126","http_referrer":"","http_user_agent":"node-fetch","requestID":"d1bc1d1557037193262b5d98af8a92e3"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 122ms","method":"POST","requestID":"c1a0fe19fc94ae38523ae3616b192d04","responseTime":122,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:06: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.128","http_referrer":"","http_user_agent":"node-fetch","requestID":"c1a0fe19fc94ae38523ae3616b192d04"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwMn0.EMzSkg6y7HHlmLxfYyQZtRVBJQ8fuFboLoM29GzsD-U","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4816914e57829fe549d2d3bea89fd2eb","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"08/Jul/2024:13:06:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2485","request_time":"2.929","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"86315ba5b2f71b023eff1fae0329a3d1"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:42Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.951336,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:42Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444002,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwMn0.EMzSkg6y7HHlmLxfYyQZtRVBJQ8fuFboLoM29GzsD-U"} 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":"4816914e57829fe549d2d3bea89fd2eb"},"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/c8b78c12-93de-4f06-9d8c-1fca54b8c5c6' 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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c42481c-c6f9-496c-b86d-c1a2364d9da1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"dc289d6f-1d27-4ed1-8da7-01c271fbbfc2","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444002.4936688} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4816914e57829fe549d2d3bea89fd2eb"},"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/474e1f85-a195-4080-8f8e-55d3895fc113' 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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3da50c46-52bd-425a-a3b2-fb64031d028f","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444002.4987977} 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":"4816914e57829fe549d2d3bea89fd2eb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c42481c-c6f9-496c-b86d-c1a2364d9da1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"3022fc95-5e4f-46d5-ba17-11bc3f97a753","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444002.5074143} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"53ef40e1-46b5-4199-bd02-33929de9f558","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444002.5075808} 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":"4816914e57829fe549d2d3bea89fd2eb"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c42481c-c6f9-496c-b86d-c1a2364d9da1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c42481c-c6f9-496c-b86d-c1a2364d9da1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:42.507395052Z"}]},"request_id":"e80c8eeb-0045-4a74-ab18-d8851ed1743b","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444002.5119944} 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":"4816914e57829fe549d2d3bea89fd2eb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4816914e57829fe549d2d3bea89fd2eb"} device-1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"4816914e57829fe549d2d3bea89fd2eb","responseTime":42,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwMn0.EMzSkg6y7HHlmLxfYyQZtRVBJQ8fuFboLoM29GzsD-U","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"49428549fb42770cb4440948f51a27e6","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:42Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.731408,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:42Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444002,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwMn0.EMzSkg6y7HHlmLxfYyQZtRVBJQ8fuFboLoM29GzsD-U"} 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":"49428549fb42770cb4440948f51a27e6"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37ee9676-6115-4158-8f16-8f76ceaa90f8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9798ecdf-ed3f-4075-ba87-733ee39e4db4","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444002.5417454} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"49428549fb42770cb4440948f51a27e6"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b1265781-58a7-44d0-9a2f-0a682d98259e","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444002.5472019} 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":"49428549fb42770cb4440948f51a27e6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37ee9676-6115-4158-8f16-8f76ceaa90f8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"ee563a27-f710-4900-892f-86b2b16e5402","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444002.5588973} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7ad64e19-df91-48e9-a662-07bf0d1e5ee1","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444002.5591583} 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":"49428549fb42770cb4440948f51a27e6"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37ee9676-6115-4158-8f16-8f76ceaa90f8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37ee9676-6115-4158-8f16-8f76ceaa90f8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:42.558874005Z"}]},"request_id":"7730336e-77bc-436b-9ec0-f642a47630b4","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444002.5639286} 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":"49428549fb42770cb4440948f51a27e6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"49428549fb42770cb4440948f51a27e6"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"49428549fb42770cb4440948f51a27e6","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwM30.D1nNBHMHE1ZOq5gMFVq4bLHPRSYY9jUAU3oDXiY2h0g","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"2542581985e4558579a9938e957e1e45","responseTime":8,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwM30.D1nNBHMHE1ZOq5gMFVq4bLHPRSYY9jUAU3oDXiY2h0g","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"38c30ad48a61a90596e3c07f948377b0","responseTime":7,"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:58600","level":"info","msg":"Received request.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:43Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.684486,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:43Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/37ee9676-6115-4158-8f16-8f76ceaa90f8","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/37ee9676-6115-4158-8f16-8f76ceaa90f8","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444003,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwM30.D1nNBHMHE1ZOq5gMFVq4bLHPRSYY9jUAU3oDXiY2h0g"} 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":"2542581985e4558579a9938e957e1e45"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Received request.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:43Z"} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Sent response.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.729193,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:43Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c42481c-c6f9-496c-b86d-c1a2364d9da1","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/4c42481c-c6f9-496c-b86d-c1a2364d9da1","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444003,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwM30.D1nNBHMHE1ZOq5gMFVq4bLHPRSYY9jUAU3oDXiY2h0g"} 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":"38c30ad48a61a90596e3c07f948377b0"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37ee9676-6115-4158-8f16-8f76ceaa90f8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37ee9676-6115-4158-8f16-8f76ceaa90f8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:42.558874005Z"}]},"request_id":"06b4de8d-56b8-4217-b02d-6ddbcee16989","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444003.0517418} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2542581985e4558579a9938e957e1e45"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c42481c-c6f9-496c-b86d-c1a2364d9da1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c42481c-c6f9-496c-b86d-c1a2364d9da1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:42.507395052Z"}]},"request_id":"761c1b2a-df48-42f2-b4a4-960c653509d5","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444003.0549743} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"38c30ad48a61a90596e3c07f948377b0"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"01e06a6f-e63b-4bf5-9798-5217514ab691","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444003.0571043} 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":"2542581985e4558579a9938e957e1e45"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6ee02c49-12ca-4bdc-8cd3-1e7d826ba627","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444003.0608504} 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":"38c30ad48a61a90596e3c07f948377b0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37ee9676-6115-4158-8f16-8f76ceaa90f8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37ee9676-6115-4158-8f16-8f76ceaa90f8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:42.558874005Z"}]},"request_id":"5cf8db81-bcbe-423a-ac5e-cc3bf65d5692","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444003.0684643} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2542581985e4558579a9938e957e1e45"},"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/37ee9676-6115-4158-8f16-8f76ceaa90f8 200 30ms","method":"PATCH","requestID":"2542581985e4558579a9938e957e1e45","responseTime":30,"status":200,"url":"/devices/37ee9676-6115-4158-8f16-8f76ceaa90f8"} gateway-1 | {"time_local":"08/Jul/2024:13:06:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/37ee9676-6115-4158-8f16-8f76ceaa90f8 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.039","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"2542581985e4558579a9938e957e1e45"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwM30.D1nNBHMHE1ZOq5gMFVq4bLHPRSYY9jUAU3oDXiY2h0g","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9c665ed19214fc13ffc2a9b672fa9e59","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:43Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.641209,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:43Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/37ee9676-6115-4158-8f16-8f76ceaa90f8","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/37ee9676-6115-4158-8f16-8f76ceaa90f8","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444003,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwM30.D1nNBHMHE1ZOq5gMFVq4bLHPRSYY9jUAU3oDXiY2h0g"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9c665ed19214fc13ffc2a9b672fa9e59"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c42481c-c6f9-496c-b86d-c1a2364d9da1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c42481c-c6f9-496c-b86d-c1a2364d9da1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:42.507395052Z"}]},"request_id":"4e9fc0b9-6afd-4075-a670-dbfbc5ad067d","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444003.0818193} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"38c30ad48a61a90596e3c07f948377b0"},"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":"08/Jul/2024:13:06:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/4c42481c-c6f9-496c-b86d-c1a2364d9da1 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.055","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"38c30ad48a61a90596e3c07f948377b0"} device-1 | {"level":"info","message":"PATCH /devices/4c42481c-c6f9-496c-b86d-c1a2364d9da1 200 43ms","method":"PATCH","requestID":"38c30ad48a61a90596e3c07f948377b0","responseTime":43,"status":200,"url":"/devices/4c42481c-c6f9-496c-b86d-c1a2364d9da1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwM30.D1nNBHMHE1ZOq5gMFVq4bLHPRSYY9jUAU3oDXiY2h0g","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"27d439d0e855ceaa0ce751c87eb09d6b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:43Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.144733,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:43Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/37ee9676-6115-4158-8f16-8f76ceaa90f8/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.025","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"9c665ed19214fc13ffc2a9b672fa9e59"} device-1 | {"level":"info","message":"POST /devices/37ee9676-6115-4158-8f16-8f76ceaa90f8/websocket 200 21ms","method":"POST","requestID":"9c665ed19214fc13ffc2a9b672fa9e59","responseTime":21,"status":200,"url":"/devices/37ee9676-6115-4158-8f16-8f76ceaa90f8/websocket"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c42481c-c6f9-496c-b86d-c1a2364d9da1","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/4c42481c-c6f9-496c-b86d-c1a2364d9da1","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444003,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwM30.D1nNBHMHE1ZOq5gMFVq4bLHPRSYY9jUAU3oDXiY2h0g"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"27d439d0e855ceaa0ce751c87eb09d6b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"device 'http://localhost/devices/37ee9676-6115-4158-8f16-8f76ceaa90f8' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/4c42481c-c6f9-496c-b86d-c1a2364d9da1/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.027","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"27d439d0e855ceaa0ce751c87eb09d6b"} device-1 | {"level":"info","message":"POST /devices/4c42481c-c6f9-496c-b86d-c1a2364d9da1/websocket 200 23ms","method":"POST","requestID":"27d439d0e855ceaa0ce751c87eb09d6b","responseTime":23,"status":200,"url":"/devices/4c42481c-c6f9-496c-b86d-c1a2364d9da1/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/4c42481c-c6f9-496c-b86d-c1a2364d9da1' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwM30.D1nNBHMHE1ZOq5gMFVq4bLHPRSYY9jUAU3oDXiY2h0g","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"aa206cab79554b5edad92f2dc474b664","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:43Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.680019,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c42481c-c6f9-496c-b86d-c1a2364d9da1","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/4c42481c-c6f9-496c-b86d-c1a2364d9da1","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444003,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwM30.D1nNBHMHE1ZOq5gMFVq4bLHPRSYY9jUAU3oDXiY2h0g"} 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":"aa206cab79554b5edad92f2dc474b664"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c42481c-c6f9-496c-b86d-c1a2364d9da1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c42481c-c6f9-496c-b86d-c1a2364d9da1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:42.507395052Z"}]},"request_id":"6b5b4c5e-4b0e-4e3a-b416-575dba783789","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444003.1485686} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aa206cab79554b5edad92f2dc474b664"},"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/4c42481c-c6f9-496c-b86d-c1a2364d9da1? 200 12ms","method":"GET","requestID":"aa206cab79554b5edad92f2dc474b664","responseTime":12,"status":200,"url":"/devices/4c42481c-c6f9-496c-b86d-c1a2364d9da1?"} gateway-1 | {"time_local":"08/Jul/2024:13:06:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4c42481c-c6f9-496c-b86d-c1a2364d9da1? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"aa206cab79554b5edad92f2dc474b664"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwM30.D1nNBHMHE1ZOq5gMFVq4bLHPRSYY9jUAU3oDXiY2h0g","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"7542128f64eb7ebdbdd8a0c5b950c2f9","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:43Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.159178,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/37ee9676-6115-4158-8f16-8f76ceaa90f8","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/37ee9676-6115-4158-8f16-8f76ceaa90f8","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444003,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwM30.D1nNBHMHE1ZOq5gMFVq4bLHPRSYY9jUAU3oDXiY2h0g"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7542128f64eb7ebdbdd8a0c5b950c2f9"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37ee9676-6115-4158-8f16-8f76ceaa90f8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37ee9676-6115-4158-8f16-8f76ceaa90f8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:42.558874005Z"}]},"request_id":"45ce6422-84d6-43eb-b6a7-55db05f17b82","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444003.1713345} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7542128f64eb7ebdbdd8a0c5b950c2f9"},"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":"08/Jul/2024:13:06:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/37ee9676-6115-4158-8f16-8f76ceaa90f8? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7542128f64eb7ebdbdd8a0c5b950c2f9"} device-1 | {"level":"info","message":"GET /devices/37ee9676-6115-4158-8f16-8f76ceaa90f8? 200 17ms","method":"GET","requestID":"7542128f64eb7ebdbdd8a0c5b950c2f9","responseTime":17,"status":200,"url":"/devices/37ee9676-6115-4158-8f16-8f76ceaa90f8?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwM30.D1nNBHMHE1ZOq5gMFVq4bLHPRSYY9jUAU3oDXiY2h0g","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"78e46bff839c052685885e3755ba9428","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:58600","level":"info","msg":"Received request.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:43Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.332727,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:43Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444003,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwM30.D1nNBHMHE1ZOq5gMFVq4bLHPRSYY9jUAU3oDXiY2h0g"} 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":"78e46bff839c052685885e3755ba9428"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/705b91d0-1db2-440b-a04e-8d4e654fdd06"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/705b91d0-1db2-440b-a04e-8d4e654fdd06"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/705b91d0-1db2-440b-a04e-8d4e654fdd06"},"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:58600","level":"info","msg":"Received request.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:43Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.175441,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c42481c-c6f9-496c-b86d-c1a2364d9da1","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/4c42481c-c6f9-496c-b86d-c1a2364d9da1","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444003,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwM30.D1nNBHMHE1ZOq5gMFVq4bLHPRSYY9jUAU3oDXiY2h0g"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ec3016b0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Received request.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:43Z"} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Sent response.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.754575,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/37ee9676-6115-4158-8f16-8f76ceaa90f8","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/37ee9676-6115-4158-8f16-8f76ceaa90f8","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444003,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwM30.D1nNBHMHE1ZOq5gMFVq4bLHPRSYY9jUAU3oDXiY2h0g"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ec3064d0-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c42481c-c6f9-496c-b86d-c1a2364d9da1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c42481c-c6f9-496c-b86d-c1a2364d9da1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:42.507395052Z"}]},"request_id":"60fa6e93-0386-46ab-b3b2-378d8b2f8642","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444003.239817} 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":"ec3016b0-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37ee9676-6115-4158-8f16-8f76ceaa90f8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37ee9676-6115-4158-8f16-8f76ceaa90f8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:42.558874005Z"}]},"request_id":"bae2389d-868c-4211-95af-cbbb0a138ed6","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444003.24215} 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":"ec3064d0-3d2a-11ef-b23c-0125361f42d1"},"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/4c42481c-c6f9-496c-b86d-c1a2364d9da1? 200 25ms","method":"GET","requestID":"ec3016b0-3d2a-11ef-b23c-0125361f42d1","responseTime":25,"status":200,"url":"/devices/4c42481c-c6f9-496c-b86d-c1a2364d9da1?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/37ee9676-6115-4158-8f16-8f76ceaa90f8? 200 25ms","method":"GET","requestID":"ec3064d0-3d2a-11ef-b23c-0125361f42d1","responseTime":25,"status":200,"url":"/devices/37ee9676-6115-4158-8f16-8f76ceaa90f8?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/705b91d0-1db2-440b-a04e-8d4e654fdd06"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/705b91d0-1db2-440b-a04e-8d4e654fdd06"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/705b91d0-1db2-440b-a04e-8d4e654fdd06"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/705b91d0-1db2-440b-a04e-8d4e654fdd06"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/705b91d0-1db2-440b-a04e-8d4e654fdd06"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/705b91d0-1db2-440b-a04e-8d4e654fdd06"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/705b91d0-1db2-440b-a04e-8d4e654fdd06"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/705b91d0-1db2-440b-a04e-8d4e654fdd06"},"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/705b91d0-1db2-440b-a04e-8d4e654fdd06"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:43Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.375453,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:43Z"} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Received request.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c42481c-c6f9-496c-b86d-c1a2364d9da1","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/4c42481c-c6f9-496c-b86d-c1a2364d9da1","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444003,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwM30.D1nNBHMHE1ZOq5gMFVq4bLHPRSYY9jUAU3oDXiY2h0g"} 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":"ec3d0f00-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Sent response.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.62165,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/37ee9676-6115-4158-8f16-8f76ceaa90f8","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/37ee9676-6115-4158-8f16-8f76ceaa90f8","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444003,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwM30.D1nNBHMHE1ZOq5gMFVq4bLHPRSYY9jUAU3oDXiY2h0g"} 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":"ec3d5d20-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:60772","level":"info","msg":"Received request.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:43Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c42481c-c6f9-496c-b86d-c1a2364d9da1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c42481c-c6f9-496c-b86d-c1a2364d9da1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:42.507395052Z"}]},"request_id":"2b706de7-7071-419e-b8b6-387e4aaac5b7","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444003.3293533} 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":"ec3d0f00-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37ee9676-6115-4158-8f16-8f76ceaa90f8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37ee9676-6115-4158-8f16-8f76ceaa90f8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:42.558874005Z"}]},"request_id":"ba4d8d2c-747e-48d1-947a-7852450f32e9","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444003.331452} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c42481c-c6f9-496c-b86d-c1a2364d9da1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"edfbe6a3-73e1-4e78-8b1c-8e60768ae167","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444003.332043} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ec3d5d20-3d2a-11ef-b23c-0125361f42d1"},"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:60772","level":"info","msg":"Sent response.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.654253,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c42481c-c6f9-496c-b86d-c1a2364d9da1","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4c42481c-c6f9-496c-b86d-c1a2364d9da1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ec3dab40-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":16}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F705b91d0-1db2-440b-a04e-8d4e654fdd06#owner@http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F705b91d0-1db2-440b-a04e-8d4e654fdd06","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"f09cbca0-f493-4136-9e7e-b80b791d687b","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444003.3410568} device-1 | {"level":"info","message":"GET /devices/37ee9676-6115-4158-8f16-8f76ceaa90f8? 200 27ms","method":"GET","requestID":"ec3d5d20-3d2a-11ef-b23c-0125361f42d1","responseTime":27,"status":200,"url":"/devices/37ee9676-6115-4158-8f16-8f76ceaa90f8?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d0410fc1-dd7f-40e4-8bbf-d2127e3d7363","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444003.341341} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/4c42481c-c6f9-496c-b86d-c1a2364d9da1? 200 31ms","method":"GET","requestID":"ec3d0f00-3d2a-11ef-b23c-0125361f42d1","responseTime":31,"status":200,"url":"/devices/4c42481c-c6f9-496c-b86d-c1a2364d9da1?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling 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":"78e46bff839c052685885e3755ba9428"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} device-1 | {"level":"info","message":"POST /devices/4c42481c-c6f9-496c-b86d-c1a2364d9da1/signaling 200 28ms","method":"POST","requestID":"ec3dab40-3d2a-11ef-b23c-0125361f42d1","responseTime":28,"status":200,"url":"/devices/4c42481c-c6f9-496c-b86d-c1a2364d9da1/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:43Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c42481c-c6f9-496c-b86d-c1a2364d9da1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"24be849b-47fe-48d3-bace-cf49a9880858","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444003.3516464} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.814625,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c42481c-c6f9-496c-b86d-c1a2364d9da1","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4c42481c-c6f9-496c-b86d-c1a2364d9da1","object_type":"device","rebac_allow":false,"scope_allow":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":"ec421810-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/705b91d0-1db2-440b-a04e-8d4e654fdd06","user":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"08/Jul/2024:13:06:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"785","request_time":"0.178","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"78e46bff839c052685885e3755ba9428"} experiment-1 | {"level":"info","message":"POST /experiments? 201 171ms","method":"POST","requestID":"78e46bff839c052685885e3755ba9428","responseTime":171,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:43Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/4c42481c-c6f9-496c-b86d-c1a2364d9da1/signaling 200 13ms","method":"POST","requestID":"ec421810-3d2a-11ef-b23c-0125361f42d1","responseTime":13,"status":200,"url":"/devices/4c42481c-c6f9-496c-b86d-c1a2364d9da1/signaling"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37ee9676-6115-4158-8f16-8f76ceaa90f8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f4b733f8-5fee-452b-9cc2-610c9d864a16","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444003.358455} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.679406,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/37ee9676-6115-4158-8f16-8f76ceaa90f8","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/37ee9676-6115-4158-8f16-8f76ceaa90f8","object_type":"device","rebac_allow":false,"scope_allow":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":"ec430270-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwM30.D1nNBHMHE1ZOq5gMFVq4bLHPRSYY9jUAU3oDXiY2h0g","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"64b03b80ef9c027989d8771ca7fcf207","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:43Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/37ee9676-6115-4158-8f16-8f76ceaa90f8/signaling 200 15ms","method":"POST","requestID":"ec430270-3d2a-11ef-b23c-0125361f42d1","responseTime":15,"status":200,"url":"/devices/37ee9676-6115-4158-8f16-8f76ceaa90f8/signaling"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37ee9676-6115-4158-8f16-8f76ceaa90f8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1ddcb0eb-6150-4324-a1e3-98ccceca7d86","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444003.3654897} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.309683,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:43Z"} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Received request.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/37ee9676-6115-4158-8f16-8f76ceaa90f8","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/37ee9676-6115-4158-8f16-8f76ceaa90f8","object_type":"device","rebac_allow":false,"scope_allow":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":"ec448910-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:60868","level":"info","msg":"Sent response.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.842863,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c42481c-c6f9-496c-b86d-c1a2364d9da1","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/4c42481c-c6f9-496c-b86d-c1a2364d9da1","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444003,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwM30.D1nNBHMHE1ZOq5gMFVq4bLHPRSYY9jUAU3oDXiY2h0g"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"64b03b80ef9c027989d8771ca7fcf207"},"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/37ee9676-6115-4158-8f16-8f76ceaa90f8/signaling 200 10ms","method":"POST","requestID":"ec448910-3d2a-11ef-b23c-0125361f42d1","responseTime":10,"status":200,"url":"/devices/37ee9676-6115-4158-8f16-8f76ceaa90f8/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/705b91d0-1db2-440b-a04e-8d4e654fdd06"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/705b91d0-1db2-440b-a04e-8d4e654fdd06"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"fc41139e-6fa1-4d7e-a27a-dfe20e6a709b"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"a08b6aa6-4f63-44ee-9f52-d76d960829a8"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"c8a6f410-ee57-461a-87f5-6475ff5631b0"}]},"level":"info","message":"Built pairwise service configurations"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/37ee9676-6115-4158-8f16-8f76ceaa90f8"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/4c42481c-c6f9-496c-b86d-c1a2364d9da1"}],"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c42481c-c6f9-496c-b86d-c1a2364d9da1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c42481c-c6f9-496c-b86d-c1a2364d9da1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:42.507395052Z"}]},"request_id":"92af4bd9-7fa5-45f7-8ae7-2dd101b5089f","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444003.3732803} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"64b03b80ef9c027989d8771ca7fcf207"},"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:58600","level":"info","msg":"Received request.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:43Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.917762,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:43Z"} gateway-1 | {"time_local":"08/Jul/2024:13:06:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4c42481c-c6f9-496c-b86d-c1a2364d9da1? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"64b03b80ef9c027989d8771ca7fcf207"} device-1 | {"level":"info","message":"GET /devices/4c42481c-c6f9-496c-b86d-c1a2364d9da1? 200 15ms","method":"GET","requestID":"64b03b80ef9c027989d8771ca7fcf207","responseTime":15,"status":200,"url":"/devices/4c42481c-c6f9-496c-b86d-c1a2364d9da1?"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444003,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwM30.D1nNBHMHE1ZOq5gMFVq4bLHPRSYY9jUAU3oDXiY2h0g"} 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":"ec4684e0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwM30.D1nNBHMHE1ZOq5gMFVq4bLHPRSYY9jUAU3oDXiY2h0g","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b1bcc529656a8e74cb8d27ca38c8ff46","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:43Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.679231,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/37ee9676-6115-4158-8f16-8f76ceaa90f8","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/37ee9676-6115-4158-8f16-8f76ceaa90f8","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444003,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwM30.D1nNBHMHE1ZOq5gMFVq4bLHPRSYY9jUAU3oDXiY2h0g"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b1bcc529656a8e74cb8d27ca38c8ff46"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","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%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"d7837a89-eb4b-49d8-b7b9-f458008296a1","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444003.3889344} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b0bc9fdf-f1aa-425a-bc6d-b525b2d27541","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444003.3890996} 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":"ec4684e0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37ee9676-6115-4158-8f16-8f76ceaa90f8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37ee9676-6115-4158-8f16-8f76ceaa90f8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:42.558874005Z"}]},"request_id":"c84c9bd7-f3f9-4876-b116-6770fa97c076","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444003.3932495} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b1bcc529656a8e74cb8d27ca38c8ff46"},"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/f4a4c823-f66f-40b5-8642-a76a8e750e6c'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/f4a4c823-f66f-40b5-8642-a76a8e750e6c'"} 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":"ec4684e0-3d2a-11ef-b23c-0125361f42d1","responseTime":30,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/37ee9676-6115-4158-8f16-8f76ceaa90f8? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b1bcc529656a8e74cb8d27ca38c8ff46"} device-1 | {"level":"info","message":"GET /devices/37ee9676-6115-4158-8f16-8f76ceaa90f8? 200 21ms","method":"GET","requestID":"b1bcc529656a8e74cb8d27ca38c8ff46","responseTime":21,"status":200,"url":"/devices/37ee9676-6115-4158-8f16-8f76ceaa90f8?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/705b91d0-1db2-440b-a04e-8d4e654fdd06"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:43Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c42481c-c6f9-496c-b86d-c1a2364d9da1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5684c144-6115-4d60-96b4-c04f42852e27","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444003.4351058} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.454483,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c42481c-c6f9-496c-b86d-c1a2364d9da1","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4c42481c-c6f9-496c-b86d-c1a2364d9da1","object_type":"device","rebac_allow":false,"scope_allow":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":"ec4f1060-3d2a-11ef-b23c-0125361f42d1"},"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/4c42481c-c6f9-496c-b86d-c1a2364d9da1/signaling 200 9ms","method":"POST","requestID":"ec4f1060-3d2a-11ef-b23c-0125361f42d1","responseTime":9,"status":200,"url":"/devices/4c42481c-c6f9-496c-b86d-c1a2364d9da1/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:43Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37ee9676-6115-4158-8f16-8f76ceaa90f8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"13fd2926-de54-468a-a9e0-b81bac4be420","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444003.445038} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.243814,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/37ee9676-6115-4158-8f16-8f76ceaa90f8","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/37ee9676-6115-4158-8f16-8f76ceaa90f8","object_type":"device","rebac_allow":false,"scope_allow":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":"ec50be10-3d2a-11ef-b23c-0125361f42d1"},"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/37ee9676-6115-4158-8f16-8f76ceaa90f8/signaling 200 8ms","method":"POST","requestID":"ec50be10-3d2a-11ef-b23c-0125361f42d1","responseTime":8,"status":200,"url":"/devices/37ee9676-6115-4158-8f16-8f76ceaa90f8/signaling"} device-1 | {"data":{"peerconnection":"f4a4c823-f66f-40b5-8642-a76a8e750e6c","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"f4a4c823-f66f-40b5-8642-a76a8e750e6c","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/f4a4c823-f66f-40b5-8642-a76a8e750e6c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f4a4c823-f66f-40b5-8642-a76a8e750e6c","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":"106ea0cac352cbf742a2669906e30285","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/37ee9676-6115-4158-8f16-8f76ceaa90f8"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/4c42481c-c6f9-496c-b86d-c1a2364d9da1"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/f4a4c823-f66f-40b5-8642-a76a8e750e6c"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 11ms","method":"POST","requestID":"106ea0cac352cbf742a2669906e30285","responseTime":11,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:06: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.014","http_referrer":"","http_user_agent":"node-fetch","requestID":"106ea0cac352cbf742a2669906e30285"} device-1 | {"data":{"peerconnection":"f4a4c823-f66f-40b5-8642-a76a8e750e6c","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"f4a4c823-f66f-40b5-8642-a76a8e750e6c","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/f4a4c823-f66f-40b5-8642-a76a8e750e6c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f4a4c823-f66f-40b5-8642-a76a8e750e6c","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":"325a8b2def19c37c0bbe5cbe26169019","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/37ee9676-6115-4158-8f16-8f76ceaa90f8"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/4c42481c-c6f9-496c-b86d-c1a2364d9da1"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/f4a4c823-f66f-40b5-8642-a76a8e750e6c"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:45Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff4a4c823-f66f-40b5-8642-a76a8e750e6c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"29d3bd80-ddd2-4a7d-8ec3-42bf4dc90687","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444005.5361943} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.490399,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f4a4c823-f66f-40b5-8642-a76a8e750e6c","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/f4a4c823-f66f-40b5-8642-a76a8e750e6c","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":"ed8f5890-3d2a-11ef-b23c-0125361f42d1"},"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/f4a4c823-f66f-40b5-8642-a76a8e750e6c 200 13ms","method":"GET","requestID":"ed8f5890-3d2a-11ef-b23c-0125361f42d1","responseTime":13,"status":200,"url":"/peerconnections/f4a4c823-f66f-40b5-8642-a76a8e750e6c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 44ms","method":"POST","requestID":"325a8b2def19c37c0bbe5cbe26169019","responseTime":44,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:06: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.049","http_referrer":"","http_user_agent":"node-fetch","requestID":"325a8b2def19c37c0bbe5cbe26169019"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:45Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37ee9676-6115-4158-8f16-8f76ceaa90f8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ba71c0f6-2312-4142-b183-c8c3cdb2b7c1","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444005.5715206} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.819156,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/37ee9676-6115-4158-8f16-8f76ceaa90f8","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/37ee9676-6115-4158-8f16-8f76ceaa90f8","object_type":"device","rebac_allow":false,"scope_allow":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":"ed94d6d0-3d2a-11ef-b23c-0125361f42d1"},"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/37ee9676-6115-4158-8f16-8f76ceaa90f8/signaling 200 11ms","method":"POST","requestID":"ed94d6d0-3d2a-11ef-b23c-0125361f42d1","responseTime":11,"status":200,"url":"/devices/37ee9676-6115-4158-8f16-8f76ceaa90f8/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:45Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c42481c-c6f9-496c-b86d-c1a2364d9da1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d9e6ba5f-3223-4575-854e-1c33d7134edb","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444005.582835} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.445077,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c42481c-c6f9-496c-b86d-c1a2364d9da1","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4c42481c-c6f9-496c-b86d-c1a2364d9da1","object_type":"device","rebac_allow":false,"scope_allow":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":"ed96d2a0-3d2a-11ef-b23c-0125361f42d1"},"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/4c42481c-c6f9-496c-b86d-c1a2364d9da1/signaling 200 9ms","method":"POST","requestID":"ed96d2a0-3d2a-11ef-b23c-0125361f42d1","responseTime":9,"status":200,"url":"/devices/4c42481c-c6f9-496c-b86d-c1a2364d9da1/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwNX0.fuwSLmntMlh-HOPWt1RZJltfrnNXBL-IX6w1xO_yVsk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8aa5dcd8ac771cfadbd4eec7859e717d","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/705b91d0-1db2-440b-a04e-8d4e654fdd06"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:45Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.188828,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/705b91d0-1db2-440b-a04e-8d4e654fdd06","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/705b91d0-1db2-440b-a04e-8d4e654fdd06","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444005,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwNX0.fuwSLmntMlh-HOPWt1RZJltfrnNXBL-IX6w1xO_yVsk"} 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":"8aa5dcd8ac771cfadbd4eec7859e717d"},"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/705b91d0-1db2-440b-a04e-8d4e654fdd06"} gateway-1 | {"time_local":"08/Jul/2024:13:06:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/705b91d0-1db2-440b-a04e-8d4e654fdd06 HTTP/1.1","status": "200","body_bytes_sent":"858","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8aa5dcd8ac771cfadbd4eec7859e717d"} experiment-1 | {"level":"info","message":"GET /experiments/705b91d0-1db2-440b-a04e-8d4e654fdd06 200 18ms","method":"GET","requestID":"8aa5dcd8ac771cfadbd4eec7859e717d","responseTime":18,"status":200,"url":"/experiments/705b91d0-1db2-440b-a04e-8d4e654fdd06"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwNX0.fuwSLmntMlh-HOPWt1RZJltfrnNXBL-IX6w1xO_yVsk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"47a2e3a7128760dd009d78961948459e","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/705b91d0-1db2-440b-a04e-8d4e654fdd06"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:45Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.340941,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:45Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/705b91d0-1db2-440b-a04e-8d4e654fdd06","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/705b91d0-1db2-440b-a04e-8d4e654fdd06","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444005,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwNX0.fuwSLmntMlh-HOPWt1RZJltfrnNXBL-IX6w1xO_yVsk"} 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":"47a2e3a7128760dd009d78961948459e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/705b91d0-1db2-440b-a04e-8d4e654fdd06"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:45Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.834997,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:45Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f4a4c823-f66f-40b5-8642-a76a8e750e6c","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:http://localhost/peerconnections/f4a4c823-f66f-40b5-8642-a76a8e750e6c","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444005,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwNX0.fuwSLmntMlh-HOPWt1RZJltfrnNXBL-IX6w1xO_yVsk"} 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":"edb3a970-3d2a-11ef-b23c-0125361f42d1"},"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/f4a4c823-f66f-40b5-8642-a76a8e750e6c' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/f4a4c823-f66f-40b5-8642-a76a8e750e6c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f4a4c823-f66f-40b5-8642-a76a8e750e6c","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":"3c3b02dcf71ff060d2880e1b8636c524","responseTime":2,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f55332b314cca974d67d83a7abfd0ede","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/37ee9676-6115-4158-8f16-8f76ceaa90f8"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/4c42481c-c6f9-496c-b86d-c1a2364d9da1"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f4a4c823-f66f-40b5-8642-a76a8e750e6c"}}},"level":"info","message":"received a callback"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/37ee9676-6115-4158-8f16-8f76ceaa90f8"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/4c42481c-c6f9-496c-b86d-c1a2364d9da1"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f4a4c823-f66f-40b5-8642-a76a8e750e6c"}}},"level":"info","message":"received a callback"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff4a4c823-f66f-40b5-8642-a76a8e750e6c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff4a4c823-f66f-40b5-8642-a76a8e750e6c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"4b1c91da-fc4c-46bd-b2f6-521ca85e8982","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444005.7883246} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ff667e27-86a8-4014-895a-52966c9e9f9b","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444005.7886622} 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":"edb3a970-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} device-1 | {"data":{"peerconnection":"f4a4c823-f66f-40b5-8642-a76a8e750e6c","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/f4a4c823-f66f-40b5-8642-a76a8e750e6c 204 43ms","method":"DELETE","requestID":"edb3a970-3d2a-11ef-b23c-0125361f42d1","responseTime":43,"status":204,"url":"/peerconnections/f4a4c823-f66f-40b5-8642-a76a8e750e6c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/705b91d0-1db2-440b-a04e-8d4e654fdd06"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:45Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37ee9676-6115-4158-8f16-8f76ceaa90f8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6ec2ecac-0dd5-40bb-b34a-519b115531b2","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444005.840617} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.097736,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/37ee9676-6115-4158-8f16-8f76ceaa90f8","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/37ee9676-6115-4158-8f16-8f76ceaa90f8","object_type":"device","rebac_allow":false,"scope_allow":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":"edbde2a0-3d2a-11ef-b23c-0125361f42d1"},"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/37ee9676-6115-4158-8f16-8f76ceaa90f8/signaling 200 11ms","method":"POST","requestID":"edbde2a0-3d2a-11ef-b23c-0125361f42d1","responseTime":11,"status":200,"url":"/devices/37ee9676-6115-4158-8f16-8f76ceaa90f8/signaling"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F705b91d0-1db2-440b-a04e-8d4e654fdd06': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F705b91d0-1db2-440b-a04e-8d4e654fdd06","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"4ba40975-d3bf-453c-9938-3a9bc9001664","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444005.8478293} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2b081a2e-7042-4204-84a5-8c5e503ea316","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444005.8479981} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"47a2e3a7128760dd009d78961948459e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:45Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c42481c-c6f9-496c-b86d-c1a2364d9da1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"180b1218-1fbf-4728-a578-911c8e9c45c4","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444005.854971} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.62099,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c42481c-c6f9-496c-b86d-c1a2364d9da1","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4c42481c-c6f9-496c-b86d-c1a2364d9da1","object_type":"device","rebac_allow":false,"scope_allow":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":"edc02c90-3d2a-11ef-b23c-0125361f42d1"},"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/4c42481c-c6f9-496c-b86d-c1a2364d9da1/signaling 200 10ms","method":"POST","requestID":"edc02c90-3d2a-11ef-b23c-0125361f42d1","responseTime":10,"status":200,"url":"/devices/4c42481c-c6f9-496c-b86d-c1a2364d9da1/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/705b91d0-1db2-440b-a04e-8d4e654fdd06"} gateway-1 | {"time_local":"08/Jul/2024:13:06:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/705b91d0-1db2-440b-a04e-8d4e654fdd06 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.168","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"47a2e3a7128760dd009d78961948459e"} gateway-1 | {"time_local":"08/Jul/2024:13:06:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2490","request_time":"2.800","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"7e1b588c65a4f82d79aab6f3d23d1a89"} experiment-1 | {"level":"info","message":"DELETE /experiments/705b91d0-1db2-440b-a04e-8d4e654fdd06 204 165ms","method":"DELETE","requestID":"47a2e3a7128760dd009d78961948459e","responseTime":165,"status":204,"url":"/experiments/705b91d0-1db2-440b-a04e-8d4e654fdd06"} gateway-1 | {"time_local":"08/Jul/2024:13:06:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2490","request_time":"2.817","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"ac0ea12f0454edebadd90a968e112eb7"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 128ms","method":"POST","requestID":"3c3b02dcf71ff060d2880e1b8636c524","responseTime":128,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:06: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.132","http_referrer":"","http_user_agent":"node-fetch","requestID":"3c3b02dcf71ff060d2880e1b8636c524"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 127ms","method":"POST","requestID":"f55332b314cca974d67d83a7abfd0ede","responseTime":127,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:06: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.133","http_referrer":"","http_user_agent":"node-fetch","requestID":"f55332b314cca974d67d83a7abfd0ede"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwNX0.fuwSLmntMlh-HOPWt1RZJltfrnNXBL-IX6w1xO_yVsk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"27c46b44a57112dcfc3264c06b5b9283","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/37ee9676-6115-4158-8f16-8f76ceaa90f8' closed"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:45Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.186458,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444005,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwNX0.fuwSLmntMlh-HOPWt1RZJltfrnNXBL-IX6w1xO_yVsk"} 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":"27c46b44a57112dcfc3264c06b5b9283"},"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/4c42481c-c6f9-496c-b86d-c1a2364d9da1' 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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb93a9da5-9ce8-4349-8f39-f96a0006ba18","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7e561868-b0ce-4a19-b259-bbbc27c6a499","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444005.946666} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"27c46b44a57112dcfc3264c06b5b9283"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"22c9e2b9-c3c6-47a0-b8e2-db9482f86fd2","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444005.9546201} 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":"27c46b44a57112dcfc3264c06b5b9283"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb93a9da5-9ce8-4349-8f39-f96a0006ba18","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"18768573-f97f-4708-b3e1-0d3b4f80e1e4","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444005.9650342} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"20eaa529-6402-49e1-a7be-fcd4c2932767","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444005.9652946} 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":"27c46b44a57112dcfc3264c06b5b9283"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb93a9da5-9ce8-4349-8f39-f96a0006ba18","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb93a9da5-9ce8-4349-8f39-f96a0006ba18","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:45.965015105Z"}]},"request_id":"6350791f-ed7f-41de-8f9b-913b6f1f816b","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444005.9708056} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"27c46b44a57112dcfc3264c06b5b9283"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"27c46b44a57112dcfc3264c06b5b9283","responseTime":48,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/Jul/2024:13:06: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.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"27c46b44a57112dcfc3264c06b5b9283"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwNX0.fuwSLmntMlh-HOPWt1RZJltfrnNXBL-IX6w1xO_yVsk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"89ae5a5ca5a4ab551cf3a25a7b706793","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:45Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.790055,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444005,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwNX0.fuwSLmntMlh-HOPWt1RZJltfrnNXBL-IX6w1xO_yVsk"} 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":"89ae5a5ca5a4ab551cf3a25a7b706793"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae637512-17dc-41b9-a0dd-26e44a5995a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"627c8b0d-c5a6-4cab-8505-5a95570747a5","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444006.000147} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"89ae5a5ca5a4ab551cf3a25a7b706793"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"596ee3a7-ce1b-4ec1-8d48-5317a379f8c0","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444006.0055366} 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":"89ae5a5ca5a4ab551cf3a25a7b706793"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae637512-17dc-41b9-a0dd-26e44a5995a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"436f3ada-d38f-44b2-9d81-1138c52d0e24","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444006.0206232} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"58e7a46b-9598-41db-8a88-776dfdf49ea1","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444006.0207925} 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":"89ae5a5ca5a4ab551cf3a25a7b706793"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae637512-17dc-41b9-a0dd-26e44a5995a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae637512-17dc-41b9-a0dd-26e44a5995a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:46.020603057Z"}]},"request_id":"81837e5b-92ae-4d9d-b509-17611801ef3a","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444006.025524} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"89ae5a5ca5a4ab551cf3a25a7b706793"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"89ae5a5ca5a4ab551cf3a25a7b706793"} device-1 | {"level":"info","message":"POST /devices? 201 49ms","method":"POST","requestID":"89ae5a5ca5a4ab551cf3a25a7b706793","responseTime":49,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"48ddd4c797e937a57a2d384d9dc5c9c2","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:06:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/ae637512-17dc-41b9-a0dd-26e44a5995a1/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":"48ddd4c797e937a57a2d384d9dc5c9c2"} device-1 | {"level":"info","message":"OPTIONS /devices/ae637512-17dc-41b9-a0dd-26e44a5995a1/websocket 200 1ms","method":"OPTIONS","requestID":"48ddd4c797e937a57a2d384d9dc5c9c2","responseTime":1,"status":200,"url":"/devices/ae637512-17dc-41b9-a0dd-26e44a5995a1/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwN30.OrnnXmnVYJstkL1JpGjSPGtl3YndBxYCIfW0HlOMrP8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c823f63d052b0627a843190d5b83417e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"675ab76ccfe2e5a792abe0e7448718be","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:06:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/b93a9da5-9ce8-4349-8f39-f96a0006ba18/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":"675ab76ccfe2e5a792abe0e7448718be"} device-1 | {"level":"info","message":"OPTIONS /devices/b93a9da5-9ce8-4349-8f39-f96a0006ba18/websocket 200 1ms","method":"OPTIONS","requestID":"675ab76ccfe2e5a792abe0e7448718be","responseTime":1,"status":200,"url":"/devices/b93a9da5-9ce8-4349-8f39-f96a0006ba18/websocket"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:47Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.184983,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:47Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ae637512-17dc-41b9-a0dd-26e44a5995a1","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/ae637512-17dc-41b9-a0dd-26e44a5995a1","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444007,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwN30.OrnnXmnVYJstkL1JpGjSPGtl3YndBxYCIfW0HlOMrP8"} 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":"c823f63d052b0627a843190d5b83417e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwN30.OrnnXmnVYJstkL1JpGjSPGtl3YndBxYCIfW0HlOMrP8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"8133670a9fba6b2203359c9d0426e276","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.154813,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b93a9da5-9ce8-4349-8f39-f96a0006ba18","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/b93a9da5-9ce8-4349-8f39-f96a0006ba18","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444007,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwN30.OrnnXmnVYJstkL1JpGjSPGtl3YndBxYCIfW0HlOMrP8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8133670a9fba6b2203359c9d0426e276"},"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":"08/Jul/2024:13:06:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ae637512-17dc-41b9-a0dd-26e44a5995a1/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.032","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c823f63d052b0627a843190d5b83417e"} device-1 | {"level":"info","message":"POST /devices/ae637512-17dc-41b9-a0dd-26e44a5995a1/websocket 200 27ms","method":"POST","requestID":"c823f63d052b0627a843190d5b83417e","responseTime":27,"status":200,"url":"/devices/ae637512-17dc-41b9-a0dd-26e44a5995a1/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b93a9da5-9ce8-4349-8f39-f96a0006ba18/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":"8133670a9fba6b2203359c9d0426e276"} device-1 | {"level":"info","message":"POST /devices/b93a9da5-9ce8-4349-8f39-f96a0006ba18/websocket 200 23ms","method":"POST","requestID":"8133670a9fba6b2203359c9d0426e276","responseTime":23,"status":200,"url":"/devices/b93a9da5-9ce8-4349-8f39-f96a0006ba18/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/ae637512-17dc-41b9-a0dd-26e44a5995a1' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b93a9da5-9ce8-4349-8f39-f96a0006ba18' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwOH0.AN3iwj3uhlZeqkJe4Y-WtCGttPBYKpvD_blVPDHnrE0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7cf2d9a886524f2d4b5500719370ecdf","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.47631,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b93a9da5-9ce8-4349-8f39-f96a0006ba18","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/b93a9da5-9ce8-4349-8f39-f96a0006ba18","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444008,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwOH0.AN3iwj3uhlZeqkJe4Y-WtCGttPBYKpvD_blVPDHnrE0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7cf2d9a886524f2d4b5500719370ecdf"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb93a9da5-9ce8-4349-8f39-f96a0006ba18","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb93a9da5-9ce8-4349-8f39-f96a0006ba18","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:45.965015105Z"}]},"request_id":"78a6b331-347d-4c5b-b93e-d1d059c103b2","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444008.0601306} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7cf2d9a886524f2d4b5500719370ecdf"},"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":"08/Jul/2024:13:06:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b93a9da5-9ce8-4349-8f39-f96a0006ba18? 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":"7cf2d9a886524f2d4b5500719370ecdf"} device-1 | {"level":"info","message":"GET /devices/b93a9da5-9ce8-4349-8f39-f96a0006ba18? 200 17ms","method":"GET","requestID":"7cf2d9a886524f2d4b5500719370ecdf","responseTime":17,"status":200,"url":"/devices/b93a9da5-9ce8-4349-8f39-f96a0006ba18?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwOH0.AN3iwj3uhlZeqkJe4Y-WtCGttPBYKpvD_blVPDHnrE0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b4d316acaeecdf012560712709cc1ca6","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.236967,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ae637512-17dc-41b9-a0dd-26e44a5995a1","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/ae637512-17dc-41b9-a0dd-26e44a5995a1","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444008,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwOH0.AN3iwj3uhlZeqkJe4Y-WtCGttPBYKpvD_blVPDHnrE0"} 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":"b4d316acaeecdf012560712709cc1ca6"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae637512-17dc-41b9-a0dd-26e44a5995a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae637512-17dc-41b9-a0dd-26e44a5995a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:46.020603057Z"}]},"request_id":"26029d96-1548-47de-9809-45e421a34384","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444008.0798018} 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":"b4d316acaeecdf012560712709cc1ca6"},"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":"08/Jul/2024:13:06:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ae637512-17dc-41b9-a0dd-26e44a5995a1? 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":"b4d316acaeecdf012560712709cc1ca6"} device-1 | {"level":"info","message":"GET /devices/ae637512-17dc-41b9-a0dd-26e44a5995a1? 200 13ms","method":"GET","requestID":"b4d316acaeecdf012560712709cc1ca6","responseTime":13,"status":200,"url":"/devices/ae637512-17dc-41b9-a0dd-26e44a5995a1?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwOH0.AN3iwj3uhlZeqkJe4Y-WtCGttPBYKpvD_blVPDHnrE0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"725874864163d4e777f8d40d17af2dde","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:58600","level":"info","msg":"Received request.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.164029,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444008,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwOH0.AN3iwj3uhlZeqkJe4Y-WtCGttPBYKpvD_blVPDHnrE0"} 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":"725874864163d4e777f8d40d17af2dde"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f3582a8-c0cf-4825-9f0f-813131901803"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f3582a8-c0cf-4825-9f0f-813131901803"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f3582a8-c0cf-4825-9f0f-813131901803"},"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:58600","level":"info","msg":"Received request.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.089267,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b93a9da5-9ce8-4349-8f39-f96a0006ba18","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/b93a9da5-9ce8-4349-8f39-f96a0006ba18","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444008,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwOH0.AN3iwj3uhlZeqkJe4Y-WtCGttPBYKpvD_blVPDHnrE0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ef1cd660-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:60786","level":"info","msg":"Received request.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"client_addr":"127.0.0.1:60786","level":"info","msg":"Sent response.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.083019,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ae637512-17dc-41b9-a0dd-26e44a5995a1","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/ae637512-17dc-41b9-a0dd-26e44a5995a1","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444008,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwOH0.AN3iwj3uhlZeqkJe4Y-WtCGttPBYKpvD_blVPDHnrE0"} 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":"ef1d2480-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb93a9da5-9ce8-4349-8f39-f96a0006ba18","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb93a9da5-9ce8-4349-8f39-f96a0006ba18","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:45.965015105Z"}]},"request_id":"14ba6cab-30e4-4d7f-9fb3-8446124ac42b","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444008.1476235} 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":"ef1cd660-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae637512-17dc-41b9-a0dd-26e44a5995a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae637512-17dc-41b9-a0dd-26e44a5995a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:46.020603057Z"}]},"request_id":"22462df1-1a90-46e6-8f7b-b71e6240cad2","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444008.1533976} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ef1d2480-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"GET /devices/b93a9da5-9ce8-4349-8f39-f96a0006ba18? 200 21ms","method":"GET","requestID":"ef1cd660-3d2a-11ef-b23c-0125361f42d1","responseTime":21,"status":200,"url":"/devices/b93a9da5-9ce8-4349-8f39-f96a0006ba18?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/ae637512-17dc-41b9-a0dd-26e44a5995a1? 200 24ms","method":"GET","requestID":"ef1d2480-3d2a-11ef-b23c-0125361f42d1","responseTime":24,"status":200,"url":"/devices/ae637512-17dc-41b9-a0dd-26e44a5995a1?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f3582a8-c0cf-4825-9f0f-813131901803"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f3582a8-c0cf-4825-9f0f-813131901803"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f3582a8-c0cf-4825-9f0f-813131901803"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f3582a8-c0cf-4825-9f0f-813131901803"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f3582a8-c0cf-4825-9f0f-813131901803"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f3582a8-c0cf-4825-9f0f-813131901803"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f3582a8-c0cf-4825-9f0f-813131901803"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f3582a8-c0cf-4825-9f0f-813131901803"},"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:58600","level":"info","msg":"Received request.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.915749,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b93a9da5-9ce8-4349-8f39-f96a0006ba18","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/b93a9da5-9ce8-4349-8f39-f96a0006ba18","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444008,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwOH0.AN3iwj3uhlZeqkJe4Y-WtCGttPBYKpvD_blVPDHnrE0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f3582a8-c0cf-4825-9f0f-813131901803"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ef286f20-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:60786","level":"info","msg":"Received request.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"client_addr":"127.0.0.1:60786","level":"info","msg":"Sent response.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.818039,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ae637512-17dc-41b9-a0dd-26e44a5995a1","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/ae637512-17dc-41b9-a0dd-26e44a5995a1","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444008,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwOH0.AN3iwj3uhlZeqkJe4Y-WtCGttPBYKpvD_blVPDHnrE0"} 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":"ef28bd40-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.667147,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb93a9da5-9ce8-4349-8f39-f96a0006ba18","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3fe52d24-3d05-43ef-ac7e-5f2807991b13","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444008.2212195} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b93a9da5-9ce8-4349-8f39-f96a0006ba18","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b93a9da5-9ce8-4349-8f39-f96a0006ba18","object_type":"device","rebac_allow":false,"scope_allow":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":"ef290b60-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae637512-17dc-41b9-a0dd-26e44a5995a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae637512-17dc-41b9-a0dd-26e44a5995a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:46.020603057Z"}]},"request_id":"19bd078c-bdf8-46e2-ad94-0e582c6f2f9c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444008.2239213} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/b93a9da5-9ce8-4349-8f39-f96a0006ba18/signaling 200 13ms","method":"POST","requestID":"ef290b60-3d2a-11ef-b23c-0125361f42d1","responseTime":13,"status":200,"url":"/devices/b93a9da5-9ce8-4349-8f39-f96a0006ba18/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ef28bd40-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb93a9da5-9ce8-4349-8f39-f96a0006ba18","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb93a9da5-9ce8-4349-8f39-f96a0006ba18","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:45.965015105Z"}]},"request_id":"f68e8c33-7380-438f-aa15-84baae7b1268","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444008.2264452} 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":"ef286f20-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:48Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/ae637512-17dc-41b9-a0dd-26e44a5995a1? 200 23ms","method":"GET","requestID":"ef28bd40-3d2a-11ef-b23c-0125361f42d1","responseTime":23,"status":200,"url":"/devices/ae637512-17dc-41b9-a0dd-26e44a5995a1?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae637512-17dc-41b9-a0dd-26e44a5995a1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8b1a26ab-9f7d-43ef-8cde-125d24f31bc0","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444008.2360888} device-1 | {"level":"info","message":"GET /devices/b93a9da5-9ce8-4349-8f39-f96a0006ba18? 200 26ms","method":"GET","requestID":"ef286f20-3d2a-11ef-b23c-0125361f42d1","responseTime":26,"status":200,"url":"/devices/b93a9da5-9ce8-4349-8f39-f96a0006ba18?"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.416532,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ae637512-17dc-41b9-a0dd-26e44a5995a1","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ae637512-17dc-41b9-a0dd-26e44a5995a1","object_type":"device","rebac_allow":false,"scope_allow":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":"ef2b7c60-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/ae637512-17dc-41b9-a0dd-26e44a5995a1/signaling 200 13ms","method":"POST","requestID":"ef2b7c60-3d2a-11ef-b23c-0125361f42d1","responseTime":13,"status":200,"url":"/devices/ae637512-17dc-41b9-a0dd-26e44a5995a1/signaling"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4f3582a8-c0cf-4825-9f0f-813131901803#owner@http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4f3582a8-c0cf-4825-9f0f-813131901803","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"a795bc01-145f-4b7c-b168-27ef36c69281","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444008.2418008} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e7e8e725-53ce-4b57-a88f-6d1a6c4cf9fa","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444008.2423613} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb93a9da5-9ce8-4349-8f39-f96a0006ba18","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"847a1270-87b1-46ac-9de8-2e4576b7b814","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444008.2450135} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.51417,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 30ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"725874864163d4e777f8d40d17af2dde"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":30}} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b93a9da5-9ce8-4349-8f39-f96a0006ba18","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b93a9da5-9ce8-4349-8f39-f96a0006ba18","object_type":"device","rebac_allow":false,"scope_allow":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":"ef2cdbf0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/b93a9da5-9ce8-4349-8f39-f96a0006ba18/signaling 200 17ms","method":"POST","requestID":"ef2cdbf0-3d2a-11ef-b23c-0125361f42d1","responseTime":17,"status":200,"url":"/devices/b93a9da5-9ce8-4349-8f39-f96a0006ba18/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/4f3582a8-c0cf-4825-9f0f-813131901803","user":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} gateway-1 | {"time_local":"08/Jul/2024:13:06:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.174","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"725874864163d4e777f8d40d17af2dde"} experiment-1 | {"level":"info","message":"POST /experiments? 201 168ms","method":"POST","requestID":"725874864163d4e777f8d40d17af2dde","responseTime":168,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae637512-17dc-41b9-a0dd-26e44a5995a1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"25ef958c-9921-4472-ab5a-3fd8c43c65c6","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444008.2638183} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.233971,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ae637512-17dc-41b9-a0dd-26e44a5995a1","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ae637512-17dc-41b9-a0dd-26e44a5995a1","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.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwOH0.AN3iwj3uhlZeqkJe4Y-WtCGttPBYKpvD_blVPDHnrE0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d7be1f75b5de94da038f6bbdd75b0eb4","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ef2fe930-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/ae637512-17dc-41b9-a0dd-26e44a5995a1/signaling 200 10ms","method":"POST","requestID":"ef2fe930-3d2a-11ef-b23c-0125361f42d1","responseTime":10,"status":200,"url":"/devices/ae637512-17dc-41b9-a0dd-26e44a5995a1/signaling"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.779472,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b93a9da5-9ce8-4349-8f39-f96a0006ba18","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/b93a9da5-9ce8-4349-8f39-f96a0006ba18","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444008,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwOH0.AN3iwj3uhlZeqkJe4Y-WtCGttPBYKpvD_blVPDHnrE0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f3582a8-c0cf-4825-9f0f-813131901803"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f3582a8-c0cf-4825-9f0f-813131901803"},"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":"d88b59f8-8a01-47cd-9c48-f2c8563387df"},{"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":"b1128411-f21e-41fe-aacd-17fc006ded66"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"b5031b2a-781a-4d3c-975e-c6161338aa0f"}]},"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/ae637512-17dc-41b9-a0dd-26e44a5995a1"},{"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/b93a9da5-9ce8-4349-8f39-f96a0006ba18"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} 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":"d7be1f75b5de94da038f6bbdd75b0eb4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} 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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb93a9da5-9ce8-4349-8f39-f96a0006ba18","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb93a9da5-9ce8-4349-8f39-f96a0006ba18","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:45.965015105Z"}]},"request_id":"7839ec61-94b2-44d6-837c-c531abe4b52b","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444008.27441} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d7be1f75b5de94da038f6bbdd75b0eb4"},"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:58600","level":"info","msg":"Received request.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.911041,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444008,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwOH0.AN3iwj3uhlZeqkJe4Y-WtCGttPBYKpvD_blVPDHnrE0"} 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":"ef320c10-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b93a9da5-9ce8-4349-8f39-f96a0006ba18? 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":"d7be1f75b5de94da038f6bbdd75b0eb4"} device-1 | {"level":"info","message":"GET /devices/b93a9da5-9ce8-4349-8f39-f96a0006ba18? 200 13ms","method":"GET","requestID":"d7be1f75b5de94da038f6bbdd75b0eb4","responseTime":13,"status":200,"url":"/devices/b93a9da5-9ce8-4349-8f39-f96a0006ba18?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwOH0.AN3iwj3uhlZeqkJe4Y-WtCGttPBYKpvD_blVPDHnrE0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"cc97b3270d12f842f2a01550177ad15a","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","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%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"0c1d5f68-bbca-49b6-8e20-87e114782e9b","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444008.2864954} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"90413d0c-6c21-4c03-b168-8771ae0bf0ae","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444008.28674} 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":"ef320c10-3d2a-11ef-b23c-0125361f42d1"},"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:58600","level":"info","msg":"Received request.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.090615,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ae637512-17dc-41b9-a0dd-26e44a5995a1","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/ae637512-17dc-41b9-a0dd-26e44a5995a1","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444008,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwOH0.AN3iwj3uhlZeqkJe4Y-WtCGttPBYKpvD_blVPDHnrE0"} 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":"cc97b3270d12f842f2a01550177ad15a"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae637512-17dc-41b9-a0dd-26e44a5995a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae637512-17dc-41b9-a0dd-26e44a5995a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:46.020603057Z"}]},"request_id":"81a041b2-c714-471c-b21d-bc05a0f2f9ba","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444008.2940276} 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":"cc97b3270d12f842f2a01550177ad15a"},"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/a63974c5-bacc-4a75-b884-17dc6d3b0661'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/a63974c5-bacc-4a75-b884-17dc6d3b0661'"} 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":"ef320c10-3d2a-11ef-b23c-0125361f42d1","responseTime":30,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ae637512-17dc-41b9-a0dd-26e44a5995a1? 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":"cc97b3270d12f842f2a01550177ad15a"} device-1 | {"level":"info","message":"GET /devices/ae637512-17dc-41b9-a0dd-26e44a5995a1? 200 19ms","method":"GET","requestID":"cc97b3270d12f842f2a01550177ad15a","responseTime":19,"status":200,"url":"/devices/ae637512-17dc-41b9-a0dd-26e44a5995a1?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f3582a8-c0cf-4825-9f0f-813131901803"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb93a9da5-9ce8-4349-8f39-f96a0006ba18","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"03d76bdb-99cc-4509-b4f8-a3f8446c959c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444008.3377106} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.413275,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b93a9da5-9ce8-4349-8f39-f96a0006ba18","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b93a9da5-9ce8-4349-8f39-f96a0006ba18","object_type":"device","rebac_allow":false,"scope_allow":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":"ef3b33d0-3d2a-11ef-b23c-0125361f42d1"},"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/b93a9da5-9ce8-4349-8f39-f96a0006ba18/signaling 200 9ms","method":"POST","requestID":"ef3b33d0-3d2a-11ef-b23c-0125361f42d1","responseTime":9,"status":200,"url":"/devices/b93a9da5-9ce8-4349-8f39-f96a0006ba18/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae637512-17dc-41b9-a0dd-26e44a5995a1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1f852465-9c26-4a80-aefd-758ca78657d9","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444008.3475769} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.148286,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ae637512-17dc-41b9-a0dd-26e44a5995a1","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ae637512-17dc-41b9-a0dd-26e44a5995a1","object_type":"device","rebac_allow":false,"scope_allow":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":"ef3cba70-3d2a-11ef-b23c-0125361f42d1"},"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/ae637512-17dc-41b9-a0dd-26e44a5995a1/signaling 200 9ms","method":"POST","requestID":"ef3cba70-3d2a-11ef-b23c-0125361f42d1","responseTime":9,"status":200,"url":"/devices/ae637512-17dc-41b9-a0dd-26e44a5995a1/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/ae637512-17dc-41b9-a0dd-26e44a5995a1'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/ae637512-17dc-41b9-a0dd-26e44a5995a1'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/b93a9da5-9ce8-4349-8f39-f96a0006ba18'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/a63974c5-bacc-4a75-b884-17dc6d3b0661' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a63974c5-bacc-4a75-b884-17dc6d3b0661","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":"cea2b24a8c1cc4971fd570233ae03dc8","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/ae637512-17dc-41b9-a0dd-26e44a5995a1"},{"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/b93a9da5-9ce8-4349-8f39-f96a0006ba18"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/a63974c5-bacc-4a75-b884-17dc6d3b0661"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"cea2b24a8c1cc4971fd570233ae03dc8","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:06: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.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"cea2b24a8c1cc4971fd570233ae03dc8"} device-1 | {"data":{"peerconnection":"a63974c5-bacc-4a75-b884-17dc6d3b0661","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"a63974c5-bacc-4a75-b884-17dc6d3b0661","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/a63974c5-bacc-4a75-b884-17dc6d3b0661' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a63974c5-bacc-4a75-b884-17dc6d3b0661","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":"ee5e37f30f9c4bbe011bdd704a965d2c","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/ae637512-17dc-41b9-a0dd-26e44a5995a1"},{"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/b93a9da5-9ce8-4349-8f39-f96a0006ba18"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/a63974c5-bacc-4a75-b884-17dc6d3b0661"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa63974c5-bacc-4a75-b884-17dc6d3b0661","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aaa91534-f166-495b-ae76-b829d2b4fec1","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444008.4330914} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.371609,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a63974c5-bacc-4a75-b884-17dc6d3b0661","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/a63974c5-bacc-4a75-b884-17dc6d3b0661","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":"ef49b2c0-3d2a-11ef-b23c-0125361f42d1"},"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/a63974c5-bacc-4a75-b884-17dc6d3b0661 200 8ms","method":"GET","requestID":"ef49b2c0-3d2a-11ef-b23c-0125361f42d1","responseTime":8,"status":200,"url":"/peerconnections/a63974c5-bacc-4a75-b884-17dc6d3b0661"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 30ms","method":"POST","requestID":"ee5e37f30f9c4bbe011bdd704a965d2c","responseTime":30,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:06: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.033","http_referrer":"","http_user_agent":"node-fetch","requestID":"ee5e37f30f9c4bbe011bdd704a965d2c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae637512-17dc-41b9-a0dd-26e44a5995a1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3b85eb57-4327-490d-97fe-e713d27bb73c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444008.4597852} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.15445,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ae637512-17dc-41b9-a0dd-26e44a5995a1","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ae637512-17dc-41b9-a0dd-26e44a5995a1","object_type":"device","rebac_allow":false,"scope_allow":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":"ef4dd170-3d2a-11ef-b23c-0125361f42d1"},"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/ae637512-17dc-41b9-a0dd-26e44a5995a1/signaling 200 9ms","method":"POST","requestID":"ef4dd170-3d2a-11ef-b23c-0125361f42d1","responseTime":9,"status":200,"url":"/devices/ae637512-17dc-41b9-a0dd-26e44a5995a1/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb93a9da5-9ce8-4349-8f39-f96a0006ba18","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"31d10a65-f50d-408d-9729-090ff11712e4","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444008.470633} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.359485,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b93a9da5-9ce8-4349-8f39-f96a0006ba18","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b93a9da5-9ce8-4349-8f39-f96a0006ba18","object_type":"device","rebac_allow":false,"scope_allow":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":"ef4f7f20-3d2a-11ef-b23c-0125361f42d1"},"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/b93a9da5-9ce8-4349-8f39-f96a0006ba18/signaling 200 8ms","method":"POST","requestID":"ef4f7f20-3d2a-11ef-b23c-0125361f42d1","responseTime":8,"status":200,"url":"/devices/b93a9da5-9ce8-4349-8f39-f96a0006ba18/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwOH0.AN3iwj3uhlZeqkJe4Y-WtCGttPBYKpvD_blVPDHnrE0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"982ccc756fa9a200a36beef8a2325004","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/4f3582a8-c0cf-4825-9f0f-813131901803"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.940391,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4f3582a8-c0cf-4825-9f0f-813131901803","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/4f3582a8-c0cf-4825-9f0f-813131901803","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444008,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwOH0.AN3iwj3uhlZeqkJe4Y-WtCGttPBYKpvD_blVPDHnrE0"} 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":"982ccc756fa9a200a36beef8a2325004"},"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/4f3582a8-c0cf-4825-9f0f-813131901803"} gateway-1 | {"time_local":"08/Jul/2024:13:06:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/4f3582a8-c0cf-4825-9f0f-813131901803 HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"982ccc756fa9a200a36beef8a2325004"} experiment-1 | {"level":"info","message":"GET /experiments/4f3582a8-c0cf-4825-9f0f-813131901803 200 10ms","method":"GET","requestID":"982ccc756fa9a200a36beef8a2325004","responseTime":10,"status":200,"url":"/experiments/4f3582a8-c0cf-4825-9f0f-813131901803"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwOH0.AN3iwj3uhlZeqkJe4Y-WtCGttPBYKpvD_blVPDHnrE0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"652348a329043da6ca8b9fc86fb8f9ef","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/4f3582a8-c0cf-4825-9f0f-813131901803"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.006048,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4f3582a8-c0cf-4825-9f0f-813131901803","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/4f3582a8-c0cf-4825-9f0f-813131901803","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444008,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwOH0.AN3iwj3uhlZeqkJe4Y-WtCGttPBYKpvD_blVPDHnrE0"} 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":"652348a329043da6ca8b9fc86fb8f9ef"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f3582a8-c0cf-4825-9f0f-813131901803"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.7091,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a63974c5-bacc-4a75-b884-17dc6d3b0661","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:http://localhost/peerconnections/a63974c5-bacc-4a75-b884-17dc6d3b0661","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444008,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwOH0.AN3iwj3uhlZeqkJe4Y-WtCGttPBYKpvD_blVPDHnrE0"} 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":"ef5a2d80-3d2a-11ef-b23c-0125361f42d1"},"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/a63974c5-bacc-4a75-b884-17dc6d3b0661' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/a63974c5-bacc-4a75-b884-17dc6d3b0661' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a63974c5-bacc-4a75-b884-17dc6d3b0661","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa63974c5-bacc-4a75-b884-17dc6d3b0661': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa63974c5-bacc-4a75-b884-17dc6d3b0661","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"4d5aab64-da8c-40fb-a2b4-19be33159410","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444008.5548184} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"835d95cb-e487-4ae5-892c-98c800f1d598","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444008.5551183} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"693c217b1a5f1c028806e87861374fc3","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"f0d7bd45233d40c14e2a346056d89cae","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","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/ae637512-17dc-41b9-a0dd-26e44a5995a1"},{"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/b93a9da5-9ce8-4349-8f39-f96a0006ba18"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a63974c5-bacc-4a75-b884-17dc6d3b0661"}}},"level":"info","message":"received a callback"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ef5a2d80-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/ae637512-17dc-41b9-a0dd-26e44a5995a1"},{"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/b93a9da5-9ce8-4349-8f39-f96a0006ba18"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a63974c5-bacc-4a75-b884-17dc6d3b0661"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"a63974c5-bacc-4a75-b884-17dc6d3b0661","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/a63974c5-bacc-4a75-b884-17dc6d3b0661 204 41ms","method":"DELETE","requestID":"ef5a2d80-3d2a-11ef-b23c-0125361f42d1","responseTime":41,"status":204,"url":"/peerconnections/a63974c5-bacc-4a75-b884-17dc6d3b0661"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f3582a8-c0cf-4825-9f0f-813131901803"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae637512-17dc-41b9-a0dd-26e44a5995a1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bd66e209-afb0-4da6-8bb9-56e7f45d1e7c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444008.6054494} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.161908,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ae637512-17dc-41b9-a0dd-26e44a5995a1","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ae637512-17dc-41b9-a0dd-26e44a5995a1","object_type":"device","rebac_allow":false,"scope_allow":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":"ef63f180-3d2a-11ef-b23c-0125361f42d1"},"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/ae637512-17dc-41b9-a0dd-26e44a5995a1/signaling 200 10ms","method":"POST","requestID":"ef63f180-3d2a-11ef-b23c-0125361f42d1","responseTime":10,"status":200,"url":"/devices/ae637512-17dc-41b9-a0dd-26e44a5995a1/signaling"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4f3582a8-c0cf-4825-9f0f-813131901803': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4f3582a8-c0cf-4825-9f0f-813131901803","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"f4015fb7-3cbd-45b4-90ec-5880f91a810e","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444008.6135378} 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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b4ce9970-f801-406e-a83c-8fd90c446920","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444008.6144469} 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":"652348a329043da6ca8b9fc86fb8f9ef"},"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:58600","level":"info","msg":"Received request.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb93a9da5-9ce8-4349-8f39-f96a0006ba18","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c9d25815-c2fc-46dd-b145-7d6874ecdd3d","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444008.6189954} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.049817,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b93a9da5-9ce8-4349-8f39-f96a0006ba18","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b93a9da5-9ce8-4349-8f39-f96a0006ba18","object_type":"device","rebac_allow":false,"scope_allow":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":"ef65ed50-3d2a-11ef-b23c-0125361f42d1"},"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/b93a9da5-9ce8-4349-8f39-f96a0006ba18/signaling 200 11ms","method":"POST","requestID":"ef65ed50-3d2a-11ef-b23c-0125361f42d1","responseTime":11,"status":200,"url":"/devices/b93a9da5-9ce8-4349-8f39-f96a0006ba18/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/4f3582a8-c0cf-4825-9f0f-813131901803"} gateway-1 | {"time_local":"08/Jul/2024:13:06:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/4f3582a8-c0cf-4825-9f0f-813131901803 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":"652348a329043da6ca8b9fc86fb8f9ef"} experiment-1 | {"level":"info","message":"DELETE /experiments/4f3582a8-c0cf-4825-9f0f-813131901803 204 157ms","method":"DELETE","requestID":"652348a329043da6ca8b9fc86fb8f9ef","responseTime":157,"status":204,"url":"/experiments/4f3582a8-c0cf-4825-9f0f-813131901803"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 129ms","method":"POST","requestID":"693c217b1a5f1c028806e87861374fc3","responseTime":129,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:06: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.133","http_referrer":"","http_user_agent":"node-fetch","requestID":"693c217b1a5f1c028806e87861374fc3"} gateway-1 | {"time_local":"08/Jul/2024:13:06: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.134","http_referrer":"","http_user_agent":"node-fetch","requestID":"f0d7bd45233d40c14e2a346056d89cae"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 128ms","method":"POST","requestID":"f0d7bd45233d40c14e2a346056d89cae","responseTime":128,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwOH0.AN3iwj3uhlZeqkJe4Y-WtCGttPBYKpvD_blVPDHnrE0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"22bbea46c37363481fe76c0ecfefdbca","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"08/Jul/2024:13:06:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2885","request_time":"0.678","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"3ed891e76437b7c63c8483068419a75b"} gateway-1 | {"time_local":"08/Jul/2024:13:06:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2888","request_time":"0.670","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"503551f9125962de3d2cb704e116d24c"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.041592,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444008,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwOH0.AN3iwj3uhlZeqkJe4Y-WtCGttPBYKpvD_blVPDHnrE0"} 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":"22bbea46c37363481fe76c0ecfefdbca"},"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/b93a9da5-9ce8-4349-8f39-f96a0006ba18' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/ae637512-17dc-41b9-a0dd-26e44a5995a1' 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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F043105f6-de0e-4630-beaa-8ff4fcf0237b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f6854c52-16da-47c3-9f4d-85a19d69303f","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444008.7116895} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"22bbea46c37363481fe76c0ecfefdbca"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"306a974b-4993-4d17-bd6c-509a0955680f","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444008.7171226} 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":"22bbea46c37363481fe76c0ecfefdbca"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F043105f6-de0e-4630-beaa-8ff4fcf0237b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"b67357b5-bedb-4136-afd2-78df85d0bac4","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444008.72787} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9741553c-24fc-41dc-b806-f7a6c8fbda44","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444008.728144} 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":"22bbea46c37363481fe76c0ecfefdbca"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F043105f6-de0e-4630-beaa-8ff4fcf0237b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F043105f6-de0e-4630-beaa-8ff4fcf0237b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:48.727847370Z"}]},"request_id":"d45c3c81-29c8-4f1e-9f63-40f0a1ed46c7","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444008.7317476} 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":"22bbea46c37363481fe76c0ecfefdbca"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06: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.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"22bbea46c37363481fe76c0ecfefdbca"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"22bbea46c37363481fe76c0ecfefdbca","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwOH0.AN3iwj3uhlZeqkJe4Y-WtCGttPBYKpvD_blVPDHnrE0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"64c1f524b6af9f0b15fe89d1a73a8c99","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.893174,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444008,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAwOH0.AN3iwj3uhlZeqkJe4Y-WtCGttPBYKpvD_blVPDHnrE0"} 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":"64c1f524b6af9f0b15fe89d1a73a8c99"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec9bcf8f-a098-4dba-843f-b30bdcc7f61b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"237ce508-ba2e-42f7-bb47-c5d2d13fb8dd","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444008.757486} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"64c1f524b6af9f0b15fe89d1a73a8c99"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5718c6b4-fba7-4822-8e08-e38e9d1c916a","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444008.762741} 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":"64c1f524b6af9f0b15fe89d1a73a8c99"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec9bcf8f-a098-4dba-843f-b30bdcc7f61b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"468622b9-b804-4cc4-bb53-8f1e5fc34067","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444008.773599} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"adac4833-40a7-4bc4-93c1-613340f1602b","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444008.7737381} 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":"64c1f524b6af9f0b15fe89d1a73a8c99"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec9bcf8f-a098-4dba-843f-b30bdcc7f61b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec9bcf8f-a098-4dba-843f-b30bdcc7f61b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:48.773560193Z"}]},"request_id":"081b3f90-9976-4ba8-9c4c-8faf1f68b6ec","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444008.7782345} 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":"64c1f524b6af9f0b15fe89d1a73a8c99"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06: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.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"64c1f524b6af9f0b15fe89d1a73a8c99"} device-1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"64c1f524b6af9f0b15fe89d1a73a8c99","responseTime":40,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2049e52215bb7e4b81bab1687e5df7f1","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:06:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/043105f6-de0e-4630-beaa-8ff4fcf0237b/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":"2049e52215bb7e4b81bab1687e5df7f1"} device-1 | {"level":"info","message":"OPTIONS /devices/043105f6-de0e-4630-beaa-8ff4fcf0237b/websocket 200 1ms","method":"OPTIONS","requestID":"2049e52215bb7e4b81bab1687e5df7f1","responseTime":1,"status":200,"url":"/devices/043105f6-de0e-4630-beaa-8ff4fcf0237b/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":"b90684ae8f27b3a880035479591e543f","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:06:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b/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":"b90684ae8f27b3a880035479591e543f"} device-1 | {"level":"info","message":"OPTIONS /devices/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b/websocket 200 1ms","method":"OPTIONS","requestID":"b90684ae8f27b3a880035479591e543f","responseTime":1,"status":200,"url":"/devices/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxMH0._uQqNbMCDtsKiVOwRUfBpi98QhdpmYCmKXz7BYt7GJ0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"7563185e88fd9d1101d3585429f5bb26","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:50Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.172222,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:50Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxMH0._uQqNbMCDtsKiVOwRUfBpi98QhdpmYCmKXz7BYt7GJ0","level":"info","message":"auth send jwt"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/043105f6-de0e-4630-beaa-8ff4fcf0237b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/043105f6-de0e-4630-beaa-8ff4fcf0237b","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444010,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxMH0._uQqNbMCDtsKiVOwRUfBpi98QhdpmYCmKXz7BYt7GJ0"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"51ca334a3ea91a9a014d260476969267","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7563185e88fd9d1101d3585429f5bb26"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:50Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.981691,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:50Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444010,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxMH0._uQqNbMCDtsKiVOwRUfBpi98QhdpmYCmKXz7BYt7GJ0"} 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":"51ca334a3ea91a9a014d260476969267"},"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":"08/Jul/2024:13:06:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/043105f6-de0e-4630-beaa-8ff4fcf0237b/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":"7563185e88fd9d1101d3585429f5bb26"} device-1 | {"level":"info","message":"POST /devices/043105f6-de0e-4630-beaa-8ff4fcf0237b/websocket 200 26ms","method":"POST","requestID":"7563185e88fd9d1101d3585429f5bb26","responseTime":26,"status":200,"url":"/devices/043105f6-de0e-4630-beaa-8ff4fcf0237b/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b/websocket 200 31ms","method":"POST","requestID":"51ca334a3ea91a9a014d260476969267","responseTime":31,"status":200,"url":"/devices/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b/websocket"} gateway-1 | {"time_local":"08/Jul/2024:13:06:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b/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":"51ca334a3ea91a9a014d260476969267"} device-1 | {"level":"info","message":"device 'http://localhost/devices/043105f6-de0e-4630-beaa-8ff4fcf0237b' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxMH0._uQqNbMCDtsKiVOwRUfBpi98QhdpmYCmKXz7BYt7GJ0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"ddd7c0dbf8d8ab83ba855aa5dee799cf","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:50Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.16958,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/043105f6-de0e-4630-beaa-8ff4fcf0237b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/043105f6-de0e-4630-beaa-8ff4fcf0237b","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444010,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxMH0._uQqNbMCDtsKiVOwRUfBpi98QhdpmYCmKXz7BYt7GJ0"} 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":"ddd7c0dbf8d8ab83ba855aa5dee799cf"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F043105f6-de0e-4630-beaa-8ff4fcf0237b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F043105f6-de0e-4630-beaa-8ff4fcf0237b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:48.727847370Z"}]},"request_id":"adfee812-1fce-498c-ba03-7d848d393e01","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444010.8245196} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ddd7c0dbf8d8ab83ba855aa5dee799cf"},"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":"08/Jul/2024:13:06:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/043105f6-de0e-4630-beaa-8ff4fcf0237b? 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":"ddd7c0dbf8d8ab83ba855aa5dee799cf"} device-1 | {"level":"info","message":"GET /devices/043105f6-de0e-4630-beaa-8ff4fcf0237b? 200 17ms","method":"GET","requestID":"ddd7c0dbf8d8ab83ba855aa5dee799cf","responseTime":17,"status":200,"url":"/devices/043105f6-de0e-4630-beaa-8ff4fcf0237b?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxMH0._uQqNbMCDtsKiVOwRUfBpi98QhdpmYCmKXz7BYt7GJ0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9efcab2b501c0a64b07bd603d6129282","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:50Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.142523,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444010,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxMH0._uQqNbMCDtsKiVOwRUfBpi98QhdpmYCmKXz7BYt7GJ0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9efcab2b501c0a64b07bd603d6129282"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec9bcf8f-a098-4dba-843f-b30bdcc7f61b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec9bcf8f-a098-4dba-843f-b30bdcc7f61b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:48.773560193Z"}]},"request_id":"ed0a67b4-0ef1-4a42-ba22-53d2649306a4","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444010.8495395} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9efcab2b501c0a64b07bd603d6129282"},"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":"08/Jul/2024:13:06:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b? 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":"9efcab2b501c0a64b07bd603d6129282"} device-1 | {"level":"info","message":"GET /devices/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b? 200 17ms","method":"GET","requestID":"9efcab2b501c0a64b07bd603d6129282","responseTime":17,"status":200,"url":"/devices/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxMH0._uQqNbMCDtsKiVOwRUfBpi98QhdpmYCmKXz7BYt7GJ0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"785b4c5df320917aff78b8dd8e20cb20","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:58600","level":"info","msg":"Received request.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:50Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.308185,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444010,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxMH0._uQqNbMCDtsKiVOwRUfBpi98QhdpmYCmKXz7BYt7GJ0"} 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":"785b4c5df320917aff78b8dd8e20cb20"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8edcd994-c3e1-40f9-a2ec-275ca05e26b4"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8edcd994-c3e1-40f9-a2ec-275ca05e26b4"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8edcd994-c3e1-40f9-a2ec-275ca05e26b4"},"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:58600","level":"info","msg":"Received request.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:50Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.625797,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/043105f6-de0e-4630-beaa-8ff4fcf0237b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/043105f6-de0e-4630-beaa-8ff4fcf0237b","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444010,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxMH0._uQqNbMCDtsKiVOwRUfBpi98QhdpmYCmKXz7BYt7GJ0"} 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":"f0c3cfa0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:60786","level":"info","msg":"Received request.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:50Z"} authorization-1 | {"client_addr":"127.0.0.1:60786","level":"info","msg":"Sent response.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.648248,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444010,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxMH0._uQqNbMCDtsKiVOwRUfBpi98QhdpmYCmKXz7BYt7GJ0"} 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":"f0c41dc0-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F043105f6-de0e-4630-beaa-8ff4fcf0237b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F043105f6-de0e-4630-beaa-8ff4fcf0237b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:48.727847370Z"}]},"request_id":"84c4255c-c0ed-4e8f-8b90-148109dd4297","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444010.9148033} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f0c3cfa0-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec9bcf8f-a098-4dba-843f-b30bdcc7f61b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec9bcf8f-a098-4dba-843f-b30bdcc7f61b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:48.773560193Z"}]},"request_id":"dc9a8b82-4b52-4a68-a97d-bbf3e286c0ad","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444010.915704} 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":"f0c41dc0-3d2a-11ef-b23c-0125361f42d1"},"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/043105f6-de0e-4630-beaa-8ff4fcf0237b? 200 16ms","method":"GET","requestID":"f0c3cfa0-3d2a-11ef-b23c-0125361f42d1","responseTime":16,"status":200,"url":"/devices/043105f6-de0e-4630-beaa-8ff4fcf0237b?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b? 200 16ms","method":"GET","requestID":"f0c41dc0-3d2a-11ef-b23c-0125361f42d1","responseTime":16,"status":200,"url":"/devices/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8edcd994-c3e1-40f9-a2ec-275ca05e26b4"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8edcd994-c3e1-40f9-a2ec-275ca05e26b4"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8edcd994-c3e1-40f9-a2ec-275ca05e26b4"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8edcd994-c3e1-40f9-a2ec-275ca05e26b4"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8edcd994-c3e1-40f9-a2ec-275ca05e26b4"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8edcd994-c3e1-40f9-a2ec-275ca05e26b4"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8edcd994-c3e1-40f9-a2ec-275ca05e26b4"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8edcd994-c3e1-40f9-a2ec-275ca05e26b4"},"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:58600","level":"info","msg":"Received request.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:50Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.031114,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/043105f6-de0e-4630-beaa-8ff4fcf0237b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/043105f6-de0e-4630-beaa-8ff4fcf0237b","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444010,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxMH0._uQqNbMCDtsKiVOwRUfBpi98QhdpmYCmKXz7BYt7GJ0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8edcd994-c3e1-40f9-a2ec-275ca05e26b4"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f0cf8f70-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:60786","level":"info","msg":"Received request.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:50Z"} authorization-1 | {"client_addr":"127.0.0.1:60786","level":"info","msg":"Sent response.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.608332,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444010,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxMH0._uQqNbMCDtsKiVOwRUfBpi98QhdpmYCmKXz7BYt7GJ0"} 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":"f0d004a0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:50Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F043105f6-de0e-4630-beaa-8ff4fcf0237b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"249fb264-e9db-4e33-b65c-a2fe138251ed","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444010.9991539} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F043105f6-de0e-4630-beaa-8ff4fcf0237b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F043105f6-de0e-4630-beaa-8ff4fcf0237b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:48.727847370Z"}]},"request_id":"2c7d3e5c-7c9a-4186-a255-4fc30fe1c72e","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444011.003797} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.043919,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/043105f6-de0e-4630-beaa-8ff4fcf0237b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/043105f6-de0e-4630-beaa-8ff4fcf0237b","object_type":"device","rebac_allow":false,"scope_allow":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":"f0d0a0e0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} 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":"f0cf8f70-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec9bcf8f-a098-4dba-843f-b30bdcc7f61b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec9bcf8f-a098-4dba-843f-b30bdcc7f61b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:48.773560193Z"}]},"request_id":"923878aa-da4f-49d8-bd2a-2ff095959c15","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444011.0052621} 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":"f0d004a0-3d2a-11ef-b23c-0125361f42d1"},"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/043105f6-de0e-4630-beaa-8ff4fcf0237b/signaling 200 25ms","method":"POST","requestID":"f0d0a0e0-3d2a-11ef-b23c-0125361f42d1","responseTime":25,"status":200,"url":"/devices/043105f6-de0e-4630-beaa-8ff4fcf0237b/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/043105f6-de0e-4630-beaa-8ff4fcf0237b? 200 34ms","method":"GET","requestID":"f0cf8f70-3d2a-11ef-b23c-0125361f42d1","responseTime":34,"status":200,"url":"/devices/043105f6-de0e-4630-beaa-8ff4fcf0237b?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b? 200 37ms","method":"GET","requestID":"f0d004a0-3d2a-11ef-b23c-0125361f42d1","responseTime":37,"status":200,"url":"/devices/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b?"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8edcd994-c3e1-40f9-a2ec-275ca05e26b4#owner@http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8edcd994-c3e1-40f9-a2ec-275ca05e26b4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"530903ea-19c6-4928-ba9f-bbc61ac22347","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444011.0235686} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"084182b3-6b4a-4711-98ce-4003f182e71f","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444011.0241196} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:51Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} 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":"785b4c5df320917aff78b8dd8e20cb20"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":28}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec9bcf8f-a098-4dba-843f-b30bdcc7f61b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c3cacd9b-6f9b-49a8-814c-105d7b10a8d3","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444011.027636} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.433126,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b","object_type":"device","rebac_allow":false,"scope_allow":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":"f0d534c0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:51Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b/signaling 200 13ms","method":"POST","requestID":"f0d534c0-3d2a-11ef-b23c-0125361f42d1","responseTime":13,"status":200,"url":"/devices/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b/signaling"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F043105f6-de0e-4630-beaa-8ff4fcf0237b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c7374442-5b36-4844-b9ca-d555a5f41963","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444011.0345929} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.220458,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/043105f6-de0e-4630-beaa-8ff4fcf0237b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/043105f6-de0e-4630-beaa-8ff4fcf0237b","object_type":"device","rebac_allow":false,"scope_allow":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":"f0d64630-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/8edcd994-c3e1-40f9-a2ec-275ca05e26b4","user":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"08/Jul/2024:13:06:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.182","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"785b4c5df320917aff78b8dd8e20cb20"} experiment-1 | {"level":"info","message":"POST /experiments? 201 174ms","method":"POST","requestID":"785b4c5df320917aff78b8dd8e20cb20","responseTime":174,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/043105f6-de0e-4630-beaa-8ff4fcf0237b/signaling 200 13ms","method":"POST","requestID":"f0d64630-3d2a-11ef-b23c-0125361f42d1","responseTime":13,"status":200,"url":"/devices/043105f6-de0e-4630-beaa-8ff4fcf0237b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxMX0.iRGLJu1dF5CzYOyt0QJtId3sVc4TOh8nmCLv29E1sW8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"58c8996853283d7a68aed3e74147a755","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:51Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec9bcf8f-a098-4dba-843f-b30bdcc7f61b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"715c8d5e-2f62-4287-b857-3b28b78923bd","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444011.0495832} authorization-1 | {"client_addr":"127.0.0.1:60786","level":"info","msg":"Received request.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:51Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.530318,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b","object_type":"device","rebac_allow":false,"scope_allow":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":"f0d89020-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:60786","level":"info","msg":"Sent response.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.963465,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/043105f6-de0e-4630-beaa-8ff4fcf0237b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/043105f6-de0e-4630-beaa-8ff4fcf0237b","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444011,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxMX0.iRGLJu1dF5CzYOyt0QJtId3sVc4TOh8nmCLv29E1sW8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"58c8996853283d7a68aed3e74147a755"},"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/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b/signaling 200 14ms","method":"POST","requestID":"f0d89020-3d2a-11ef-b23c-0125361f42d1","responseTime":14,"status":200,"url":"/devices/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b/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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F043105f6-de0e-4630-beaa-8ff4fcf0237b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F043105f6-de0e-4630-beaa-8ff4fcf0237b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:48.727847370Z"}]},"request_id":"ca69ba6c-8b8d-4bb6-b68c-f5d2cd6a8e4b","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444011.0575547} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8edcd994-c3e1-40f9-a2ec-275ca05e26b4"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8edcd994-c3e1-40f9-a2ec-275ca05e26b4"},"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":"b3c3ab51-043c-4126-98b1-e0e49c38fc05"},{"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":"955d472f-09f5-4fb7-b28a-9955c0e06209"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"82dd73a5-6b34-4cbd-aee8-5fbaf20595ba"}]},"level":"info","message":"Built pairwise service configurations"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"58c8996853283d7a68aed3e74147a755"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b"},{"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/043105f6-de0e-4630-beaa-8ff4fcf0237b"}],"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:58600","level":"info","msg":"Received request.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:51Z"} gateway-1 | {"time_local":"08/Jul/2024:13:06:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/043105f6-de0e-4630-beaa-8ff4fcf0237b? 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":"58c8996853283d7a68aed3e74147a755"} device-1 | {"level":"info","message":"GET /devices/043105f6-de0e-4630-beaa-8ff4fcf0237b? 200 18ms","method":"GET","requestID":"58c8996853283d7a68aed3e74147a755","responseTime":18,"status":200,"url":"/devices/043105f6-de0e-4630-beaa-8ff4fcf0237b?"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.174178,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:51Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444010,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxMH0._uQqNbMCDtsKiVOwRUfBpi98QhdpmYCmKXz7BYt7GJ0"} 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":"f0db7650-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxMX0.iRGLJu1dF5CzYOyt0QJtId3sVc4TOh8nmCLv29E1sW8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"362e3ef97887d132e7470fc983c65bdc","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:51Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.832901,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444011,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxMX0.iRGLJu1dF5CzYOyt0QJtId3sVc4TOh8nmCLv29E1sW8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"362e3ef97887d132e7470fc983c65bdc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","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%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"0bc3a8cb-17c4-4793-ae0a-efcaa36c15c3","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444011.0788295} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"70561b84-922c-45ab-83b9-cc0176f1c113","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444011.0792708} 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":"f0db7650-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec9bcf8f-a098-4dba-843f-b30bdcc7f61b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec9bcf8f-a098-4dba-843f-b30bdcc7f61b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:48.773560193Z"}]},"request_id":"15bd68a5-15a3-472d-ad97-051471360860","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444011.085033} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"362e3ef97887d132e7470fc983c65bdc"},"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/383d697f-4706-4a0c-808d-5dd7e9ab5145'"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b? 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":"362e3ef97887d132e7470fc983c65bdc"} device-1 | {"level":"info","message":"GET /devices/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b? 200 24ms","method":"GET","requestID":"362e3ef97887d132e7470fc983c65bdc","responseTime":24,"status":200,"url":"/devices/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b?"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/383d697f-4706-4a0c-808d-5dd7e9ab5145'"} 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":"f0db7650-3d2a-11ef-b23c-0125361f42d1","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"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8edcd994-c3e1-40f9-a2ec-275ca05e26b4"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:51Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F043105f6-de0e-4630-beaa-8ff4fcf0237b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0d3175f3-59b2-4589-9188-59e80d8b4428","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444011.1367102} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.349132,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/043105f6-de0e-4630-beaa-8ff4fcf0237b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/043105f6-de0e-4630-beaa-8ff4fcf0237b","object_type":"device","rebac_allow":false,"scope_allow":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":"f0e624b0-3d2a-11ef-b23c-0125361f42d1"},"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/043105f6-de0e-4630-beaa-8ff4fcf0237b/signaling 200 9ms","method":"POST","requestID":"f0e624b0-3d2a-11ef-b23c-0125361f42d1","responseTime":9,"status":200,"url":"/devices/043105f6-de0e-4630-beaa-8ff4fcf0237b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:51Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec9bcf8f-a098-4dba-843f-b30bdcc7f61b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cb9597a5-a8d3-4310-b1e4-0db6377db2ff","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444011.1471295} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.607065,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b","object_type":"device","rebac_allow":false,"scope_allow":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":"f0e7d260-3d2a-11ef-b23c-0125361f42d1"},"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/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b/signaling 200 11ms","method":"POST","requestID":"f0e7d260-3d2a-11ef-b23c-0125361f42d1","responseTime":11,"status":200,"url":"/devices/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/043105f6-de0e-4630-beaa-8ff4fcf0237b'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/383d697f-4706-4a0c-808d-5dd7e9ab5145' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"383d697f-4706-4a0c-808d-5dd7e9ab5145","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":"37d0ecfb06882e5fdd165decbca5052e","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b"},{"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/043105f6-de0e-4630-beaa-8ff4fcf0237b"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/383d697f-4706-4a0c-808d-5dd7e9ab5145"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"37d0ecfb06882e5fdd165decbca5052e","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:06: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.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"37d0ecfb06882e5fdd165decbca5052e"} device-1 | {"data":{"peerconnection":"383d697f-4706-4a0c-808d-5dd7e9ab5145","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"383d697f-4706-4a0c-808d-5dd7e9ab5145","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/383d697f-4706-4a0c-808d-5dd7e9ab5145' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"383d697f-4706-4a0c-808d-5dd7e9ab5145","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":"89c90287afee11d575d5acb574b8eece","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/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b"},{"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/043105f6-de0e-4630-beaa-8ff4fcf0237b"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/383d697f-4706-4a0c-808d-5dd7e9ab5145"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:51Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F383d697f-4706-4a0c-808d-5dd7e9ab5145","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"41f4bbb7-7f18-46ac-846e-c096ffd20a25","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444011.2296226} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.397014,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/383d697f-4706-4a0c-808d-5dd7e9ab5145","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/383d697f-4706-4a0c-808d-5dd7e9ab5145","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":"f0f47c90-3d2a-11ef-b23c-0125361f42d1"},"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/383d697f-4706-4a0c-808d-5dd7e9ab5145 200 8ms","method":"GET","requestID":"f0f47c90-3d2a-11ef-b23c-0125361f42d1","responseTime":8,"status":200,"url":"/peerconnections/383d697f-4706-4a0c-808d-5dd7e9ab5145"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 34ms","method":"POST","requestID":"89c90287afee11d575d5acb574b8eece","responseTime":34,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:06: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.037","http_referrer":"","http_user_agent":"node-fetch","requestID":"89c90287afee11d575d5acb574b8eece"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:51Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec9bcf8f-a098-4dba-843f-b30bdcc7f61b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c6a17fae-07ac-4290-8ecd-f7a8ab7adc0f","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444011.2607052} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.507879,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b","object_type":"device","rebac_allow":false,"scope_allow":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":"f0f93780-3d2a-11ef-b23c-0125361f42d1"},"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/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b/signaling 200 8ms","method":"POST","requestID":"f0f93780-3d2a-11ef-b23c-0125361f42d1","responseTime":8,"status":200,"url":"/devices/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:51Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F043105f6-de0e-4630-beaa-8ff4fcf0237b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ffaf9c46-a16f-4211-9085-4a0161791b8a","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444011.2703009} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.058257,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/043105f6-de0e-4630-beaa-8ff4fcf0237b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/043105f6-de0e-4630-beaa-8ff4fcf0237b","object_type":"device","rebac_allow":false,"scope_allow":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":"f0fabe20-3d2a-11ef-b23c-0125361f42d1"},"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/043105f6-de0e-4630-beaa-8ff4fcf0237b/signaling 200 8ms","method":"POST","requestID":"f0fabe20-3d2a-11ef-b23c-0125361f42d1","responseTime":8,"status":200,"url":"/devices/043105f6-de0e-4630-beaa-8ff4fcf0237b/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxMX0.iRGLJu1dF5CzYOyt0QJtId3sVc4TOh8nmCLv29E1sW8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5fc4a9be731e455f93fb8c3a370fdbe7","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/8edcd994-c3e1-40f9-a2ec-275ca05e26b4"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:51Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.730339,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8edcd994-c3e1-40f9-a2ec-275ca05e26b4","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/8edcd994-c3e1-40f9-a2ec-275ca05e26b4","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444011,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxMX0.iRGLJu1dF5CzYOyt0QJtId3sVc4TOh8nmCLv29E1sW8"} 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":"5fc4a9be731e455f93fb8c3a370fdbe7"},"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/8edcd994-c3e1-40f9-a2ec-275ca05e26b4"} gateway-1 | {"time_local":"08/Jul/2024:13:06:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/8edcd994-c3e1-40f9-a2ec-275ca05e26b4 HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5fc4a9be731e455f93fb8c3a370fdbe7"} experiment-1 | {"level":"info","message":"GET /experiments/8edcd994-c3e1-40f9-a2ec-275ca05e26b4 200 9ms","method":"GET","requestID":"5fc4a9be731e455f93fb8c3a370fdbe7","responseTime":9,"status":200,"url":"/experiments/8edcd994-c3e1-40f9-a2ec-275ca05e26b4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxMX0.iRGLJu1dF5CzYOyt0QJtId3sVc4TOh8nmCLv29E1sW8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c4c235fb91c5a5e20d1b1b633a7f34f3","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/8edcd994-c3e1-40f9-a2ec-275ca05e26b4"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:51Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.671698,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:51Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8edcd994-c3e1-40f9-a2ec-275ca05e26b4","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/8edcd994-c3e1-40f9-a2ec-275ca05e26b4","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444011,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxMX0.iRGLJu1dF5CzYOyt0QJtId3sVc4TOh8nmCLv29E1sW8"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c4c235fb91c5a5e20d1b1b633a7f34f3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8edcd994-c3e1-40f9-a2ec-275ca05e26b4"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:51Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.727194,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:51Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/383d697f-4706-4a0c-808d-5dd7e9ab5145","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:http://localhost/peerconnections/383d697f-4706-4a0c-808d-5dd7e9ab5145","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444011,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxMX0.iRGLJu1dF5CzYOyt0QJtId3sVc4TOh8nmCLv29E1sW8"} 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":"f1048220-3d2a-11ef-b23c-0125361f42d1"},"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/383d697f-4706-4a0c-808d-5dd7e9ab5145' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/383d697f-4706-4a0c-808d-5dd7e9ab5145' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"383d697f-4706-4a0c-808d-5dd7e9ab5145","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F383d697f-4706-4a0c-808d-5dd7e9ab5145': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F383d697f-4706-4a0c-808d-5dd7e9ab5145","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"e6dbeedd-22e7-4202-9ed8-6bea15ffdfad","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444011.3440683} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"13f8152f-f32e-4e26-ab41-a6bdededacc1","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444011.3442533} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7169f001bb79840bc91201b3c8cc742f","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":"f1048220-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-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/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b"},{"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/043105f6-de0e-4630-beaa-8ff4fcf0237b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/383d697f-4706-4a0c-808d-5dd7e9ab5145"}}},"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 0ms","method":"GET","requestID":"cb20206bb2b10b0be599b98c74376187","responseTime":0,"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/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b"},{"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/043105f6-de0e-4630-beaa-8ff4fcf0237b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/383d697f-4706-4a0c-808d-5dd7e9ab5145"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"383d697f-4706-4a0c-808d-5dd7e9ab5145","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/383d697f-4706-4a0c-808d-5dd7e9ab5145 204 32ms","method":"DELETE","requestID":"f1048220-3d2a-11ef-b23c-0125361f42d1","responseTime":32,"status":204,"url":"/peerconnections/383d697f-4706-4a0c-808d-5dd7e9ab5145"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8edcd994-c3e1-40f9-a2ec-275ca05e26b4"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:51Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec9bcf8f-a098-4dba-843f-b30bdcc7f61b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"843b3ee5-070c-48c3-a9ce-cb20aebbe4d1","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444011.381675} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.248236,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b","object_type":"device","rebac_allow":false,"scope_allow":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":"f10bae10-3d2a-11ef-b23c-0125361f42d1"},"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/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b/signaling 200 8ms","method":"POST","requestID":"f10bae10-3d2a-11ef-b23c-0125361f42d1","responseTime":8,"status":200,"url":"/devices/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b/signaling"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8edcd994-c3e1-40f9-a2ec-275ca05e26b4': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8edcd994-c3e1-40f9-a2ec-275ca05e26b4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"97824ba0-9afa-417c-a138-54f858a9098f","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444011.3869884} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ec5787ec-e7f2-4973-b41f-38d849adc010","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444011.3872876} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c4c235fb91c5a5e20d1b1b633a7f34f3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:51Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F043105f6-de0e-4630-beaa-8ff4fcf0237b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a186d82b-587d-41a3-b698-a56315411933","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444011.3919747} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.134032,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/043105f6-de0e-4630-beaa-8ff4fcf0237b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/043105f6-de0e-4630-beaa-8ff4fcf0237b","object_type":"device","rebac_allow":false,"scope_allow":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":"f10d5bc0-3d2a-11ef-b23c-0125361f42d1"},"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/043105f6-de0e-4630-beaa-8ff4fcf0237b/signaling 200 7ms","method":"POST","requestID":"f10d5bc0-3d2a-11ef-b23c-0125361f42d1","responseTime":7,"status":200,"url":"/devices/043105f6-de0e-4630-beaa-8ff4fcf0237b/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/8edcd994-c3e1-40f9-a2ec-275ca05e26b4"} gateway-1 | {"time_local":"08/Jul/2024:13:06:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/8edcd994-c3e1-40f9-a2ec-275ca05e26b4 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.125","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c4c235fb91c5a5e20d1b1b633a7f34f3"} experiment-1 | {"level":"info","message":"DELETE /experiments/8edcd994-c3e1-40f9-a2ec-275ca05e26b4 204 123ms","method":"DELETE","requestID":"c4c235fb91c5a5e20d1b1b633a7f34f3","responseTime":123,"status":204,"url":"/experiments/8edcd994-c3e1-40f9-a2ec-275ca05e26b4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 100ms","method":"POST","requestID":"7169f001bb79840bc91201b3c8cc742f","responseTime":100,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:06: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.102","http_referrer":"","http_user_agent":"node-fetch","requestID":"7169f001bb79840bc91201b3c8cc742f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 100ms","method":"POST","requestID":"cb20206bb2b10b0be599b98c74376187","responseTime":100,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:06: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.104","http_referrer":"","http_user_agent":"node-fetch","requestID":"cb20206bb2b10b0be599b98c74376187"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxMX0.iRGLJu1dF5CzYOyt0QJtId3sVc4TOh8nmCLv29E1sW8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1b2c1bb3d72d09e3187b0ba45bfc3e7f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"08/Jul/2024:13:06:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2884","request_time":"0.661","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f7c5f944ddd5ccd9def819ac106f165f"} gateway-1 | {"time_local":"08/Jul/2024:13:06:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2887","request_time":"0.673","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"20fc9252a6b628b65d2b708e7952c9ed"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:51Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.73457,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:51Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444011,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxMX0.iRGLJu1dF5CzYOyt0QJtId3sVc4TOh8nmCLv29E1sW8"} 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":"1b2c1bb3d72d09e3187b0ba45bfc3e7f"},"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/ec9bcf8f-a098-4dba-843f-b30bdcc7f61b' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/043105f6-de0e-4630-beaa-8ff4fcf0237b' 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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb842247d-a176-4689-94aa-cafc530fa031","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"10353ff5-777c-4ac8-8bc7-71c5c3ed7566","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444011.4689965} 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":"1b2c1bb3d72d09e3187b0ba45bfc3e7f"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5540b73e-eb71-4def-85d4-fa369077f073","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444011.4735708} 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":"1b2c1bb3d72d09e3187b0ba45bfc3e7f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb842247d-a176-4689-94aa-cafc530fa031","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"1f2dd734-9bae-40ab-b2ba-9cb570f69e7e","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444011.4837854} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"553fd315-334b-4d1b-a022-6e502eb3454d","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444011.4840066} 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":"1b2c1bb3d72d09e3187b0ba45bfc3e7f"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb842247d-a176-4689-94aa-cafc530fa031","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb842247d-a176-4689-94aa-cafc530fa031","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:51.483752237Z"}]},"request_id":"54aef0cd-496a-4d30-972a-50740a32ea62","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444011.4884427} 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":"1b2c1bb3d72d09e3187b0ba45bfc3e7f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06: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.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1b2c1bb3d72d09e3187b0ba45bfc3e7f"} device-1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"1b2c1bb3d72d09e3187b0ba45bfc3e7f","responseTime":40,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxMX0.iRGLJu1dF5CzYOyt0QJtId3sVc4TOh8nmCLv29E1sW8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"723bb0b3a0c1214bad9a9fe2290501db","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:51Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.809521,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:51Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444011,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxMX0.iRGLJu1dF5CzYOyt0QJtId3sVc4TOh8nmCLv29E1sW8"} 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":"723bb0b3a0c1214bad9a9fe2290501db"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45c281ef-a841-4418-8b44-930ac5aba3cc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e0bf6ebe-37ae-4fd6-92cd-f2b084335bd1","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444011.5109978} 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":"723bb0b3a0c1214bad9a9fe2290501db"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"049559e5-429b-4721-a516-c7f0a7f7711c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444011.5155714} 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":"723bb0b3a0c1214bad9a9fe2290501db"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45c281ef-a841-4418-8b44-930ac5aba3cc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"dcf30f93-db49-48b8-bb73-11e1860bb427","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444011.5230784} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f8efa905-8110-41c3-8c67-0af8d7e38fd3","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444011.5232015} 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":"723bb0b3a0c1214bad9a9fe2290501db"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45c281ef-a841-4418-8b44-930ac5aba3cc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45c281ef-a841-4418-8b44-930ac5aba3cc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:51.523059405Z"}]},"request_id":"6b9694ce-6e7e-4eee-a99a-4ddb67887f2a","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444011.5290425} 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":"723bb0b3a0c1214bad9a9fe2290501db"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06: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.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"723bb0b3a0c1214bad9a9fe2290501db"} device-1 | {"level":"info","message":"POST /devices? 201 35ms","method":"POST","requestID":"723bb0b3a0c1214bad9a9fe2290501db","responseTime":35,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxMn0.wyB8Q-EZ5-xKFg01IZ0N_85p0Z1IchgBU0PLdOdEZ38","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ec64416a723081a43d8bcc52b2d4b1dd","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:52Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.190145,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:52Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/45c281ef-a841-4418-8b44-930ac5aba3cc","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/45c281ef-a841-4418-8b44-930ac5aba3cc","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444012,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxMn0.wyB8Q-EZ5-xKFg01IZ0N_85p0Z1IchgBU0PLdOdEZ38"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ec64416a723081a43d8bcc52b2d4b1dd"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45c281ef-a841-4418-8b44-930ac5aba3cc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45c281ef-a841-4418-8b44-930ac5aba3cc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:51.523059405Z"}]},"request_id":"63f40b85-03ff-461e-bb6a-b064864232a0","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444012.0279503} 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":"ec64416a723081a43d8bcc52b2d4b1dd"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d38390fa-49d0-4d2f-a619-9a4bdda598ca","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444012.0354397} 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":"ec64416a723081a43d8bcc52b2d4b1dd"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45c281ef-a841-4418-8b44-930ac5aba3cc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45c281ef-a841-4418-8b44-930ac5aba3cc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:51.523059405Z"}]},"request_id":"61ec6d59-cad0-4421-9390-b385fa0c8031","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444012.0494552} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ec64416a723081a43d8bcc52b2d4b1dd"},"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":"08/Jul/2024:13:06:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/45c281ef-a841-4418-8b44-930ac5aba3cc HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.047","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"ec64416a723081a43d8bcc52b2d4b1dd"} device-1 | {"level":"info","message":"PATCH /devices/45c281ef-a841-4418-8b44-930ac5aba3cc 200 41ms","method":"PATCH","requestID":"ec64416a723081a43d8bcc52b2d4b1dd","responseTime":41,"status":200,"url":"/devices/45c281ef-a841-4418-8b44-930ac5aba3cc"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxMn0.wyB8Q-EZ5-xKFg01IZ0N_85p0Z1IchgBU0PLdOdEZ38","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"47ef41579333fb2a731ba551a0ea471e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:52Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.779829,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:52Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/45c281ef-a841-4418-8b44-930ac5aba3cc","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/45c281ef-a841-4418-8b44-930ac5aba3cc","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444012,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxMn0.wyB8Q-EZ5-xKFg01IZ0N_85p0Z1IchgBU0PLdOdEZ38"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"47ef41579333fb2a731ba551a0ea471e"},"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":"08/Jul/2024:13:06:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/45c281ef-a841-4418-8b44-930ac5aba3cc/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.025","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"47ef41579333fb2a731ba551a0ea471e"} device-1 | {"level":"info","message":"POST /devices/45c281ef-a841-4418-8b44-930ac5aba3cc/websocket 200 21ms","method":"POST","requestID":"47ef41579333fb2a731ba551a0ea471e","responseTime":21,"status":200,"url":"/devices/45c281ef-a841-4418-8b44-930ac5aba3cc/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/45c281ef-a841-4418-8b44-930ac5aba3cc' 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":"9595a1c5e59d8e30decc14931acda24f","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:06:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/b842247d-a176-4689-94aa-cafc530fa031/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":"9595a1c5e59d8e30decc14931acda24f"} device-1 | {"level":"info","message":"OPTIONS /devices/b842247d-a176-4689-94aa-cafc530fa031/websocket 200 1ms","method":"OPTIONS","requestID":"9595a1c5e59d8e30decc14931acda24f","responseTime":1,"status":200,"url":"/devices/b842247d-a176-4689-94aa-cafc530fa031/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxM30.LIoxfiO5XcWfDPd02pxCJ4XO9tnOzJJj5ClIV7vR4s8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"da979d16ce3991679e140b8835bd58c2","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:53Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.309474,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:53Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b842247d-a176-4689-94aa-cafc530fa031","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/b842247d-a176-4689-94aa-cafc530fa031","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444013,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxM30.LIoxfiO5XcWfDPd02pxCJ4XO9tnOzJJj5ClIV7vR4s8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"da979d16ce3991679e140b8835bd58c2"},"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":"08/Jul/2024:13:06:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b842247d-a176-4689-94aa-cafc530fa031/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":"da979d16ce3991679e140b8835bd58c2"} device-1 | {"level":"info","message":"POST /devices/b842247d-a176-4689-94aa-cafc530fa031/websocket 200 22ms","method":"POST","requestID":"da979d16ce3991679e140b8835bd58c2","responseTime":22,"status":200,"url":"/devices/b842247d-a176-4689-94aa-cafc530fa031/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b842247d-a176-4689-94aa-cafc530fa031' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxM30.LIoxfiO5XcWfDPd02pxCJ4XO9tnOzJJj5ClIV7vR4s8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"b053c8034b4b5b4881760ad4e602bf49","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:53Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.669152,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b842247d-a176-4689-94aa-cafc530fa031","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/b842247d-a176-4689-94aa-cafc530fa031","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444013,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxM30.LIoxfiO5XcWfDPd02pxCJ4XO9tnOzJJj5ClIV7vR4s8"} 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":"b053c8034b4b5b4881760ad4e602bf49"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb842247d-a176-4689-94aa-cafc530fa031","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb842247d-a176-4689-94aa-cafc530fa031","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:51.483752237Z"}]},"request_id":"fe831307-4d48-4d38-bf8f-abcb4f96f077","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444013.6166263} 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":"b053c8034b4b5b4881760ad4e602bf49"},"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/b842247d-a176-4689-94aa-cafc530fa031? 200 25ms","method":"GET","requestID":"b053c8034b4b5b4881760ad4e602bf49","responseTime":25,"status":200,"url":"/devices/b842247d-a176-4689-94aa-cafc530fa031?"} gateway-1 | {"time_local":"08/Jul/2024:13:06:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b842247d-a176-4689-94aa-cafc530fa031? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.033","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b053c8034b4b5b4881760ad4e602bf49"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxM30.LIoxfiO5XcWfDPd02pxCJ4XO9tnOzJJj5ClIV7vR4s8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"b6dc373a5e1301edd1c9bd703aaa58e2","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:53Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.439026,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/45c281ef-a841-4418-8b44-930ac5aba3cc","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/45c281ef-a841-4418-8b44-930ac5aba3cc","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444013,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxM30.LIoxfiO5XcWfDPd02pxCJ4XO9tnOzJJj5ClIV7vR4s8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b6dc373a5e1301edd1c9bd703aaa58e2"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45c281ef-a841-4418-8b44-930ac5aba3cc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45c281ef-a841-4418-8b44-930ac5aba3cc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:51.523059405Z"}]},"request_id":"c46cdda2-3d16-445f-bd20-9c2cd40f68b7","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444013.6518877} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b6dc373a5e1301edd1c9bd703aaa58e2"},"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":"08/Jul/2024:13:06:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/45c281ef-a841-4418-8b44-930ac5aba3cc? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.031","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b6dc373a5e1301edd1c9bd703aaa58e2"} device-1 | {"level":"info","message":"GET /devices/45c281ef-a841-4418-8b44-930ac5aba3cc? 200 19ms","method":"GET","requestID":"b6dc373a5e1301edd1c9bd703aaa58e2","responseTime":19,"status":200,"url":"/devices/45c281ef-a841-4418-8b44-930ac5aba3cc?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxM30.LIoxfiO5XcWfDPd02pxCJ4XO9tnOzJJj5ClIV7vR4s8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b25eaa9a230445f102e2c20434f678ca","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:58600","level":"info","msg":"Received request.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:53Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.271824,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444013,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxM30.LIoxfiO5XcWfDPd02pxCJ4XO9tnOzJJj5ClIV7vR4s8"} 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":"b25eaa9a230445f102e2c20434f678ca"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b9372e3f-1727-48e5-b5ae-757892238ac4"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b9372e3f-1727-48e5-b5ae-757892238ac4"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b9372e3f-1727-48e5-b5ae-757892238ac4"},"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:58600","level":"info","msg":"Received request.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:53Z"} authorization-1 | {"client_addr":"127.0.0.1:60786","level":"info","msg":"Received request.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:53Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.840067,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b842247d-a176-4689-94aa-cafc530fa031","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/b842247d-a176-4689-94aa-cafc530fa031","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444013,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxM30.LIoxfiO5XcWfDPd02pxCJ4XO9tnOzJJj5ClIV7vR4s8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f26f5cc0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:60786","level":"info","msg":"Sent response.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.889805,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/45c281ef-a841-4418-8b44-930ac5aba3cc","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/45c281ef-a841-4418-8b44-930ac5aba3cc","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444013,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxM30.LIoxfiO5XcWfDPd02pxCJ4XO9tnOzJJj5ClIV7vR4s8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f26faae0-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb842247d-a176-4689-94aa-cafc530fa031","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb842247d-a176-4689-94aa-cafc530fa031","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:51.483752237Z"}]},"request_id":"816861f6-1353-4d53-b8f9-621b0b221e6f","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444013.7193756} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f26f5cc0-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45c281ef-a841-4418-8b44-930ac5aba3cc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45c281ef-a841-4418-8b44-930ac5aba3cc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:51.523059405Z"}]},"request_id":"ac2bcf74-792e-4d92-82d7-76552d507fbc","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444013.7209167} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f26faae0-3d2a-11ef-b23c-0125361f42d1"},"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/b842247d-a176-4689-94aa-cafc530fa031? 200 20ms","method":"GET","requestID":"f26f5cc0-3d2a-11ef-b23c-0125361f42d1","responseTime":20,"status":200,"url":"/devices/b842247d-a176-4689-94aa-cafc530fa031?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/45c281ef-a841-4418-8b44-930ac5aba3cc? 200 19ms","method":"GET","requestID":"f26faae0-3d2a-11ef-b23c-0125361f42d1","responseTime":19,"status":200,"url":"/devices/45c281ef-a841-4418-8b44-930ac5aba3cc?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b9372e3f-1727-48e5-b5ae-757892238ac4"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b9372e3f-1727-48e5-b5ae-757892238ac4"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b9372e3f-1727-48e5-b5ae-757892238ac4"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b9372e3f-1727-48e5-b5ae-757892238ac4"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b9372e3f-1727-48e5-b5ae-757892238ac4"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b9372e3f-1727-48e5-b5ae-757892238ac4"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b9372e3f-1727-48e5-b5ae-757892238ac4"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b9372e3f-1727-48e5-b5ae-757892238ac4"},"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/b9372e3f-1727-48e5-b5ae-757892238ac4"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:53Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.94866,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:53Z"} authorization-1 | {"client_addr":"127.0.0.1:60786","level":"info","msg":"Received request.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b842247d-a176-4689-94aa-cafc530fa031","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/b842247d-a176-4689-94aa-cafc530fa031","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444013,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxM30.LIoxfiO5XcWfDPd02pxCJ4XO9tnOzJJj5ClIV7vR4s8"} 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":"f27b43a0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:60786","level":"info","msg":"Sent response.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.874816,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/45c281ef-a841-4418-8b44-930ac5aba3cc","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/45c281ef-a841-4418-8b44-930ac5aba3cc","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444013,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxM30.LIoxfiO5XcWfDPd02pxCJ4XO9tnOzJJj5ClIV7vR4s8"} 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":"f27bb8d0-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb842247d-a176-4689-94aa-cafc530fa031","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb842247d-a176-4689-94aa-cafc530fa031","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:51.483752237Z"}]},"request_id":"970899a6-7099-49e5-b73d-2ec2ec0dd3d0","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444013.8083503} authorization-1 | {"client_addr":"127.0.0.1:36166","level":"info","msg":"Received request.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:53Z"} 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":"f27b43a0-3d2a-11ef-b23c-0125361f42d1"},"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:36166","level":"info","msg":"Sent response.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.876024,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:53Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45c281ef-a841-4418-8b44-930ac5aba3cc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45c281ef-a841-4418-8b44-930ac5aba3cc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:51.523059405Z"}]},"request_id":"1a58e4b2-364e-4673-99e0-33aa9291548d","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444013.8106627} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb842247d-a176-4689-94aa-cafc530fa031","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1a594bef-2419-4cf0-9f25-9d810ecb2c48","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444013.810737} 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":"f27bb8d0-3d2a-11ef-b23c-0125361f42d1"},"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/b842247d-a176-4689-94aa-cafc530fa031","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b842247d-a176-4689-94aa-cafc530fa031","object_type":"device","rebac_allow":false,"scope_allow":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":"f27c06f0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":20}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/b842247d-a176-4689-94aa-cafc530fa031? 200 31ms","method":"GET","requestID":"f27b43a0-3d2a-11ef-b23c-0125361f42d1","responseTime":31,"status":200,"url":"/devices/b842247d-a176-4689-94aa-cafc530fa031?"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb9372e3f-1727-48e5-b5ae-757892238ac4#owner@http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb9372e3f-1727-48e5-b5ae-757892238ac4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"17c1e528-4f01-46af-987b-744f1e59dbac","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444013.8191545} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"efb53554-0c88-44c3-aa2a-df99508cde79","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444013.8193066} 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":"b25eaa9a230445f102e2c20434f678ca"},"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/45c281ef-a841-4418-8b44-930ac5aba3cc? 200 33ms","method":"GET","requestID":"f27bb8d0-3d2a-11ef-b23c-0125361f42d1","responseTime":33,"status":200,"url":"/devices/45c281ef-a841-4418-8b44-930ac5aba3cc?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/b842247d-a176-4689-94aa-cafc530fa031/signaling 200 32ms","method":"POST","requestID":"f27c06f0-3d2a-11ef-b23c-0125361f42d1","responseTime":32,"status":200,"url":"/devices/b842247d-a176-4689-94aa-cafc530fa031/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:53Z"} authorization-1 | {"client_addr":"127.0.0.1:60786","level":"info","msg":"Received request.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:53Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb842247d-a176-4689-94aa-cafc530fa031","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4ed59095-76e2-4267-8a95-0e45d738d709","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444013.832567} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.080324,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b842247d-a176-4689-94aa-cafc530fa031","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b842247d-a176-4689-94aa-cafc530fa031","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/b9372e3f-1727-48e5-b5ae-757892238ac4","user":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"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":"f2818530-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"level":"info","message":"POST /experiments? 201 169ms","method":"POST","requestID":"b25eaa9a230445f102e2c20434f678ca","responseTime":169,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45c281ef-a841-4418-8b44-930ac5aba3cc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f7da4c41-a0ad-4af7-866e-17333e6a54cd","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444013.8350375} gateway-1 | {"time_local":"08/Jul/2024:13:06:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.175","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b25eaa9a230445f102e2c20434f678ca"} authorization-1 | {"client_addr":"127.0.0.1:60786","level":"info","msg":"Sent response.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.508265,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/45c281ef-a841-4418-8b44-930ac5aba3cc","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/45c281ef-a841-4418-8b44-930ac5aba3cc","object_type":"device","rebac_allow":false,"scope_allow":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":"f281d350-3d2a-11ef-b23c-0125361f42d1"},"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/b842247d-a176-4689-94aa-cafc530fa031/signaling 200 12ms","method":"POST","requestID":"f2818530-3d2a-11ef-b23c-0125361f42d1","responseTime":12,"status":200,"url":"/devices/b842247d-a176-4689-94aa-cafc530fa031/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxM30.LIoxfiO5XcWfDPd02pxCJ4XO9tnOzJJj5ClIV7vR4s8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a591f1104bb095517f96de29777e41a3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:53Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/45c281ef-a841-4418-8b44-930ac5aba3cc/signaling 200 19ms","method":"POST","requestID":"f281d350-3d2a-11ef-b23c-0125361f42d1","responseTime":19,"status":200,"url":"/devices/45c281ef-a841-4418-8b44-930ac5aba3cc/signaling"} authorization-1 | {"client_addr":"127.0.0.1:60786","level":"info","msg":"Received request.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:53Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45c281ef-a841-4418-8b44-930ac5aba3cc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"234b8a6e-0f73-4c06-8e56-06fb00d7657c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444013.849704} authorization-1 | {"client_addr":"127.0.0.1:60786","level":"info","msg":"Sent response.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.997764,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b842247d-a176-4689-94aa-cafc530fa031","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/b842247d-a176-4689-94aa-cafc530fa031","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444013,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxM30.LIoxfiO5XcWfDPd02pxCJ4XO9tnOzJJj5ClIV7vR4s8"} 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":"a591f1104bb095517f96de29777e41a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.293177,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/45c281ef-a841-4418-8b44-930ac5aba3cc","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/45c281ef-a841-4418-8b44-930ac5aba3cc","object_type":"device","rebac_allow":false,"scope_allow":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":"f2841d40-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb842247d-a176-4689-94aa-cafc530fa031","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb842247d-a176-4689-94aa-cafc530fa031","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:51.483752237Z"}]},"request_id":"4fb1e925-2196-4b8f-8446-920e17dc108b","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444013.854557} 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":"a591f1104bb095517f96de29777e41a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"POST /devices/45c281ef-a841-4418-8b44-930ac5aba3cc/signaling 200 11ms","method":"POST","requestID":"f2841d40-3d2a-11ef-b23c-0125361f42d1","responseTime":11,"status":200,"url":"/devices/45c281ef-a841-4418-8b44-930ac5aba3cc/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b9372e3f-1727-48e5-b5ae-757892238ac4"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b9372e3f-1727-48e5-b5ae-757892238ac4"},"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":"8a849da8-4c1d-40cb-8136-3cbbc7102969"},{"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":"7db70333-28d3-4a60-9cef-5e94d241fc03"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"c2761c28-3cf0-4085-a6c6-0b6cce5c368b"}]},"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/45c281ef-a841-4418-8b44-930ac5aba3cc"},{"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/b842247d-a176-4689-94aa-cafc530fa031"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b842247d-a176-4689-94aa-cafc530fa031? 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":"a591f1104bb095517f96de29777e41a3"} device-1 | {"level":"info","message":"GET /devices/b842247d-a176-4689-94aa-cafc530fa031? 200 12ms","method":"GET","requestID":"a591f1104bb095517f96de29777e41a3","responseTime":12,"status":200,"url":"/devices/b842247d-a176-4689-94aa-cafc530fa031?"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxM30.LIoxfiO5XcWfDPd02pxCJ4XO9tnOzJJj5ClIV7vR4s8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1b9dcb210e69ce39008034b9b416c852","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:53Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.766262,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:53Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444013,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxM30.LIoxfiO5XcWfDPd02pxCJ4XO9tnOzJJj5ClIV7vR4s8"} 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":"f2866730-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:53Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.696886,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/45c281ef-a841-4418-8b44-930ac5aba3cc","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/45c281ef-a841-4418-8b44-930ac5aba3cc","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444013,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxM30.LIoxfiO5XcWfDPd02pxCJ4XO9tnOzJJj5ClIV7vR4s8"} 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":"1b9dcb210e69ce39008034b9b416c852"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45c281ef-a841-4418-8b44-930ac5aba3cc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45c281ef-a841-4418-8b44-930ac5aba3cc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:51.523059405Z"}]},"request_id":"1dc8b556-0efe-4668-afbd-a3f82e98b5a1","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444013.8714652} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1b9dcb210e69ce39008034b9b416c852"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","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%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"dea64c00-916c-417c-806c-2abb682f4c94","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444013.8757162} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"21b177f8-5e62-4ac4-be25-06b901ace7a7","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444013.8759882} gateway-1 | {"time_local":"08/Jul/2024:13:06:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/45c281ef-a841-4418-8b44-930ac5aba3cc? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1b9dcb210e69ce39008034b9b416c852"} device-1 | {"level":"info","message":"GET /devices/45c281ef-a841-4418-8b44-930ac5aba3cc? 200 13ms","method":"GET","requestID":"1b9dcb210e69ce39008034b9b416c852","responseTime":13,"status":200,"url":"/devices/45c281ef-a841-4418-8b44-930ac5aba3cc?"} 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":"f2866730-3d2a-11ef-b23c-0125361f42d1"},"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/5c17ec51-f039-44b3-ad92-dcc61cee76db'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/5c17ec51-f039-44b3-ad92-dcc61cee76db'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 29ms","method":"POST","requestID":"f2866730-3d2a-11ef-b23c-0125361f42d1","responseTime":29,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b9372e3f-1727-48e5-b5ae-757892238ac4"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:53Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb842247d-a176-4689-94aa-cafc530fa031","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e4ae09cf-6262-40ce-b043-7684ca5adadb","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444013.920071} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.311828,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b842247d-a176-4689-94aa-cafc530fa031","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b842247d-a176-4689-94aa-cafc530fa031","object_type":"device","rebac_allow":false,"scope_allow":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":"f28ecba0-3d2a-11ef-b23c-0125361f42d1"},"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/b842247d-a176-4689-94aa-cafc530fa031/signaling 200 10ms","method":"POST","requestID":"f28ecba0-3d2a-11ef-b23c-0125361f42d1","responseTime":10,"status":200,"url":"/devices/b842247d-a176-4689-94aa-cafc530fa031/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:53Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45c281ef-a841-4418-8b44-930ac5aba3cc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"da7b1dd5-6625-4ee9-8dd2-d12fa74253ab","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444013.931429} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.445068,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/45c281ef-a841-4418-8b44-930ac5aba3cc","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/45c281ef-a841-4418-8b44-930ac5aba3cc","object_type":"device","rebac_allow":false,"scope_allow":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":"f290a060-3d2a-11ef-b23c-0125361f42d1"},"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/45c281ef-a841-4418-8b44-930ac5aba3cc/signaling 200 10ms","method":"POST","requestID":"f290a060-3d2a-11ef-b23c-0125361f42d1","responseTime":10,"status":200,"url":"/devices/45c281ef-a841-4418-8b44-930ac5aba3cc/signaling"} device-1 | {"data":{"peerconnection":"5c17ec51-f039-44b3-ad92-dcc61cee76db","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/5c17ec51-f039-44b3-ad92-dcc61cee76db' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5c17ec51-f039-44b3-ad92-dcc61cee76db","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":"94ef06694e40fc2cc2ab94b83d765d39","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/45c281ef-a841-4418-8b44-930ac5aba3cc"},{"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/b842247d-a176-4689-94aa-cafc530fa031"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/5c17ec51-f039-44b3-ad92-dcc61cee76db"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"94ef06694e40fc2cc2ab94b83d765d39","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:06: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.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"94ef06694e40fc2cc2ab94b83d765d39"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/b842247d-a176-4689-94aa-cafc530fa031'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/b842247d-a176-4689-94aa-cafc530fa031'"} device-1 | {"data":{"peerconnection":"5c17ec51-f039-44b3-ad92-dcc61cee76db","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"5c17ec51-f039-44b3-ad92-dcc61cee76db","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/5c17ec51-f039-44b3-ad92-dcc61cee76db' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5c17ec51-f039-44b3-ad92-dcc61cee76db","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":"1d9eb2b78bb613db827759e1b337cdcf","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/45c281ef-a841-4418-8b44-930ac5aba3cc"},{"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/b842247d-a176-4689-94aa-cafc530fa031"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/5c17ec51-f039-44b3-ad92-dcc61cee76db"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:56Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5c17ec51-f039-44b3-ad92-dcc61cee76db","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2d5e9743-4f96-44f4-8292-a6057f8afb32","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444016.0351436} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.203321,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5c17ec51-f039-44b3-ad92-dcc61cee76db","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/5c17ec51-f039-44b3-ad92-dcc61cee76db","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":"f3d184d0-3d2a-11ef-b23c-0125361f42d1"},"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/5c17ec51-f039-44b3-ad92-dcc61cee76db 200 11ms","method":"GET","requestID":"f3d184d0-3d2a-11ef-b23c-0125361f42d1","responseTime":11,"status":200,"url":"/peerconnections/5c17ec51-f039-44b3-ad92-dcc61cee76db"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 33ms","method":"POST","requestID":"1d9eb2b78bb613db827759e1b337cdcf","responseTime":33,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:06:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch","requestID":"1d9eb2b78bb613db827759e1b337cdcf"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:56Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45c281ef-a841-4418-8b44-930ac5aba3cc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"beb202d2-af00-43ca-ae65-336e9faaead9","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444016.0628889} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.165286,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/45c281ef-a841-4418-8b44-930ac5aba3cc","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/45c281ef-a841-4418-8b44-930ac5aba3cc","object_type":"device","rebac_allow":false,"scope_allow":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":"f3d5ca90-3d2a-11ef-b23c-0125361f42d1"},"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/45c281ef-a841-4418-8b44-930ac5aba3cc/signaling 200 12ms","method":"POST","requestID":"f3d5ca90-3d2a-11ef-b23c-0125361f42d1","responseTime":12,"status":200,"url":"/devices/45c281ef-a841-4418-8b44-930ac5aba3cc/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:56Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb842247d-a176-4689-94aa-cafc530fa031","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b04aa6f9-7c1b-4f91-9ce0-1952d9f23c7f","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444016.0769925} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.535634,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b842247d-a176-4689-94aa-cafc530fa031","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b842247d-a176-4689-94aa-cafc530fa031","object_type":"device","rebac_allow":false,"scope_allow":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":"f3d7c660-3d2a-11ef-b23c-0125361f42d1"},"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/b842247d-a176-4689-94aa-cafc530fa031/signaling 200 12ms","method":"POST","requestID":"f3d7c660-3d2a-11ef-b23c-0125361f42d1","responseTime":12,"status":200,"url":"/devices/b842247d-a176-4689-94aa-cafc530fa031/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxNn0.eA-S8cfEXFX813_hYR8mW1oJXaz10MRZCPoo40tUTuQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ccd6a13f92c4f130221ec35fa6589855","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/b9372e3f-1727-48e5-b5ae-757892238ac4"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:56Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.277186,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b9372e3f-1727-48e5-b5ae-757892238ac4","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/b9372e3f-1727-48e5-b5ae-757892238ac4","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444016,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxNn0.eA-S8cfEXFX813_hYR8mW1oJXaz10MRZCPoo40tUTuQ"} 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":"ccd6a13f92c4f130221ec35fa6589855"},"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/b9372e3f-1727-48e5-b5ae-757892238ac4"} experiment-1 | {"level":"info","message":"GET /experiments/b9372e3f-1727-48e5-b5ae-757892238ac4 200 15ms","method":"GET","requestID":"ccd6a13f92c4f130221ec35fa6589855","responseTime":15,"status":200,"url":"/experiments/b9372e3f-1727-48e5-b5ae-757892238ac4"} gateway-1 | {"time_local":"08/Jul/2024:13:06:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/b9372e3f-1727-48e5-b5ae-757892238ac4 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ccd6a13f92c4f130221ec35fa6589855"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxNn0.eA-S8cfEXFX813_hYR8mW1oJXaz10MRZCPoo40tUTuQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f5d02efe217cf0b847d6d9ee690d72d1","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/b9372e3f-1727-48e5-b5ae-757892238ac4"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:56Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.230494,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:56Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b9372e3f-1727-48e5-b5ae-757892238ac4","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/b9372e3f-1727-48e5-b5ae-757892238ac4","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444016,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxNn0.eA-S8cfEXFX813_hYR8mW1oJXaz10MRZCPoo40tUTuQ"} 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":"f5d02efe217cf0b847d6d9ee690d72d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b9372e3f-1727-48e5-b5ae-757892238ac4"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:56Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.16448,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:56Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5c17ec51-f039-44b3-ad92-dcc61cee76db","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:http://localhost/peerconnections/5c17ec51-f039-44b3-ad92-dcc61cee76db","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444016,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxNn0.eA-S8cfEXFX813_hYR8mW1oJXaz10MRZCPoo40tUTuQ"} 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":"f3e61e40-3d2a-11ef-b23c-0125361f42d1"},"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/5c17ec51-f039-44b3-ad92-dcc61cee76db' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/5c17ec51-f039-44b3-ad92-dcc61cee76db' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5c17ec51-f039-44b3-ad92-dcc61cee76db","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5c17ec51-f039-44b3-ad92-dcc61cee76db': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5c17ec51-f039-44b3-ad92-dcc61cee76db","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"670d2324-8db2-4528-8e17-f413b746669c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444016.1901076} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0a32fc0e-893a-4094-b4fb-435474a9d6d8","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444016.1908197} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3a9aa4365cb4ed556a52303d11eafd20","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":"f3e61e40-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/45c281ef-a841-4418-8b44-930ac5aba3cc"},{"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/b842247d-a176-4689-94aa-cafc530fa031"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5c17ec51-f039-44b3-ad92-dcc61cee76db"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0af00f0eebc85d1785c96e2e9bd3e5bc","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/45c281ef-a841-4418-8b44-930ac5aba3cc"},{"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/b842247d-a176-4689-94aa-cafc530fa031"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5c17ec51-f039-44b3-ad92-dcc61cee76db"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"5c17ec51-f039-44b3-ad92-dcc61cee76db","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/5c17ec51-f039-44b3-ad92-dcc61cee76db 204 50ms","method":"DELETE","requestID":"f3e61e40-3d2a-11ef-b23c-0125361f42d1","responseTime":50,"status":204,"url":"/peerconnections/5c17ec51-f039-44b3-ad92-dcc61cee76db"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b9372e3f-1727-48e5-b5ae-757892238ac4"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:56Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45c281ef-a841-4418-8b44-930ac5aba3cc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e3924536-30ec-4fef-8eb3-033eb1ed853d","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444016.2485435} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.258925,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/45c281ef-a841-4418-8b44-930ac5aba3cc","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/45c281ef-a841-4418-8b44-930ac5aba3cc","object_type":"device","rebac_allow":false,"scope_allow":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":"f3f1de10-3d2a-11ef-b23c-0125361f42d1"},"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/45c281ef-a841-4418-8b44-930ac5aba3cc/signaling 200 15ms","method":"POST","requestID":"f3f1de10-3d2a-11ef-b23c-0125361f42d1","responseTime":15,"status":200,"url":"/devices/45c281ef-a841-4418-8b44-930ac5aba3cc/signaling"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb9372e3f-1727-48e5-b5ae-757892238ac4': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb9372e3f-1727-48e5-b5ae-757892238ac4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"68f767e9-735e-414a-b0da-716ffc0932e6","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444016.2569816} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6b633b82-9999-415f-8315-4b8afe439a51","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444016.2574837} 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":"f5d02efe217cf0b847d6d9ee690d72d1"},"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:58600","level":"info","msg":"Received request.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:56Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb842247d-a176-4689-94aa-cafc530fa031","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bce3247c-9a0a-43c9-aff4-da591da9c9ca","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444016.268862} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.472655,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b842247d-a176-4689-94aa-cafc530fa031","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b842247d-a176-4689-94aa-cafc530fa031","object_type":"device","rebac_allow":false,"scope_allow":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":"f3f4c440-3d2a-11ef-b23c-0125361f42d1"},"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/b842247d-a176-4689-94aa-cafc530fa031/signaling 200 16ms","method":"POST","requestID":"f3f4c440-3d2a-11ef-b23c-0125361f42d1","responseTime":16,"status":200,"url":"/devices/b842247d-a176-4689-94aa-cafc530fa031/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/b9372e3f-1727-48e5-b5ae-757892238ac4"} gateway-1 | {"time_local":"08/Jul/2024:13:06:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/b9372e3f-1727-48e5-b5ae-757892238ac4 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":"f5d02efe217cf0b847d6d9ee690d72d1"} experiment-1 | {"level":"info","message":"DELETE /experiments/b9372e3f-1727-48e5-b5ae-757892238ac4 204 185ms","method":"DELETE","requestID":"f5d02efe217cf0b847d6d9ee690d72d1","responseTime":185,"status":204,"url":"/experiments/b9372e3f-1727-48e5-b5ae-757892238ac4"} gateway-1 | {"time_local":"08/Jul/2024:13:06:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3230","request_time":"4.250","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"298d0682575e02da30c2864f2a108f79"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 140ms","method":"POST","requestID":"3a9aa4365cb4ed556a52303d11eafd20","responseTime":140,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:06:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.147","http_referrer":"","http_user_agent":"node-fetch","requestID":"3a9aa4365cb4ed556a52303d11eafd20"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 139ms","method":"POST","requestID":"0af00f0eebc85d1785c96e2e9bd3e5bc","responseTime":139,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:06:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.147","http_referrer":"","http_user_agent":"node-fetch","requestID":"0af00f0eebc85d1785c96e2e9bd3e5bc"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxNn0.eA-S8cfEXFX813_hYR8mW1oJXaz10MRZCPoo40tUTuQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"54089240cb1d0d762dcf7e3509e37b42","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:56Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.018679,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444016,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxNn0.eA-S8cfEXFX813_hYR8mW1oJXaz10MRZCPoo40tUTuQ"} 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":"54089240cb1d0d762dcf7e3509e37b42"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} gateway-1 | {"time_local":"08/Jul/2024:13:06:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2742","request_time":"2.773","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f76e5beb86fd6de1f45adde10bdfd4cf"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/45c281ef-a841-4418-8b44-930ac5aba3cc' 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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fb54a85-13b9-4f28-a3bb-f3f2849c9e85","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3a1085d7-3f61-4fa5-a171-d2c5009b0b2a","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444016.3615453} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"54089240cb1d0d762dcf7e3509e37b42"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"533f1018-e256-4461-9bc8-8df01c774934","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444016.3668108} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b842247d-a176-4689-94aa-cafc530fa031' closed"} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"54089240cb1d0d762dcf7e3509e37b42"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fb54a85-13b9-4f28-a3bb-f3f2849c9e85","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"5d916833-060b-462f-8e3e-41141b23c232","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444016.3823907} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"34ebc05a-9210-4887-97cc-a76aaf201b6d","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444016.3826737} 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":"54089240cb1d0d762dcf7e3509e37b42"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fb54a85-13b9-4f28-a3bb-f3f2849c9e85","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fb54a85-13b9-4f28-a3bb-f3f2849c9e85","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:56.382365185Z"}]},"request_id":"2d6cad5b-9ecc-463e-a455-20f04a2d2a83","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444016.3872983} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"54089240cb1d0d762dcf7e3509e37b42"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"54089240cb1d0d762dcf7e3509e37b42"} device-1 | {"level":"info","message":"POST /devices? 201 49ms","method":"POST","requestID":"54089240cb1d0d762dcf7e3509e37b42","responseTime":49,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxNn0.eA-S8cfEXFX813_hYR8mW1oJXaz10MRZCPoo40tUTuQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7f700f16b3f978a74fb1b4cdae3a2dd8","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:56Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.664632,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444016,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxNn0.eA-S8cfEXFX813_hYR8mW1oJXaz10MRZCPoo40tUTuQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7f700f16b3f978a74fb1b4cdae3a2dd8"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d3b53eb-95f8-4c15-ac06-362f4c90a137","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b648a0b3-b283-4c5c-84d6-413d1abc5e40","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444016.4115324} 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":"7f700f16b3f978a74fb1b4cdae3a2dd8"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f9688075-4a7b-449c-8626-4a19ba5fbe28","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444016.4161117} 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":"7f700f16b3f978a74fb1b4cdae3a2dd8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d3b53eb-95f8-4c15-ac06-362f4c90a137","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"a9e1087d-d8fa-4fbb-9b92-437da5b94d4d","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444016.4263616} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"85190ee7-9b97-4ba9-a873-ca86f5686293","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444016.4265392} 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":"7f700f16b3f978a74fb1b4cdae3a2dd8"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d3b53eb-95f8-4c15-ac06-362f4c90a137","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d3b53eb-95f8-4c15-ac06-362f4c90a137","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:56.426340908Z"}]},"request_id":"e2934f4d-2086-45c5-b697-0d8e2090dd53","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444016.4309855} 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":"7f700f16b3f978a74fb1b4cdae3a2dd8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:06:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7f700f16b3f978a74fb1b4cdae3a2dd8"} device-1 | {"level":"info","message":"POST /devices? 201 38ms","method":"POST","requestID":"7f700f16b3f978a74fb1b4cdae3a2dd8","responseTime":38,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxNn0.eA-S8cfEXFX813_hYR8mW1oJXaz10MRZCPoo40tUTuQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"86a45cd9ec1731918a6921933e0017ba","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:56Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.189423,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:56Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d3b53eb-95f8-4c15-ac06-362f4c90a137","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/6d3b53eb-95f8-4c15-ac06-362f4c90a137","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444016,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxNn0.eA-S8cfEXFX813_hYR8mW1oJXaz10MRZCPoo40tUTuQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"86a45cd9ec1731918a6921933e0017ba"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d3b53eb-95f8-4c15-ac06-362f4c90a137","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d3b53eb-95f8-4c15-ac06-362f4c90a137","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:56.426340908Z"}]},"request_id":"955aa9ed-2683-4aed-8731-5749bfe836e9","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444016.9364243} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"86a45cd9ec1731918a6921933e0017ba"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"def47dd5-8ce9-4546-b586-4a2a00e2d118","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444016.9415853} 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":"86a45cd9ec1731918a6921933e0017ba"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d3b53eb-95f8-4c15-ac06-362f4c90a137","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d3b53eb-95f8-4c15-ac06-362f4c90a137","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:56.426340908Z"}]},"request_id":"8b74b2ca-8654-41b1-8c73-5080c18e11c3","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444016.9535494} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"86a45cd9ec1731918a6921933e0017ba"},"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":"08/Jul/2024:13:06:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/6d3b53eb-95f8-4c15-ac06-362f4c90a137 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.038","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"86a45cd9ec1731918a6921933e0017ba"} device-1 | {"level":"info","message":"PATCH /devices/6d3b53eb-95f8-4c15-ac06-362f4c90a137 200 32ms","method":"PATCH","requestID":"86a45cd9ec1731918a6921933e0017ba","responseTime":32,"status":200,"url":"/devices/6d3b53eb-95f8-4c15-ac06-362f4c90a137"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxNn0.eA-S8cfEXFX813_hYR8mW1oJXaz10MRZCPoo40tUTuQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5919020bfec15befd9ccc7c1337ce573","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:56Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.293186,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:56Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d3b53eb-95f8-4c15-ac06-362f4c90a137","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/6d3b53eb-95f8-4c15-ac06-362f4c90a137","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444016,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxNn0.eA-S8cfEXFX813_hYR8mW1oJXaz10MRZCPoo40tUTuQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5919020bfec15befd9ccc7c1337ce573"},"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":"08/Jul/2024:13:06:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6d3b53eb-95f8-4c15-ac06-362f4c90a137/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.024","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"5919020bfec15befd9ccc7c1337ce573"} device-1 | {"level":"info","message":"POST /devices/6d3b53eb-95f8-4c15-ac06-362f4c90a137/websocket 200 18ms","method":"POST","requestID":"5919020bfec15befd9ccc7c1337ce573","responseTime":18,"status":200,"url":"/devices/6d3b53eb-95f8-4c15-ac06-362f4c90a137/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6d3b53eb-95f8-4c15-ac06-362f4c90a137' 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":"09d54ec87bb9411223d5cb5a6f667868","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:06:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85/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":"09d54ec87bb9411223d5cb5a6f667868"} device-1 | {"level":"info","message":"OPTIONS /devices/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85/websocket 200 1ms","method":"OPTIONS","requestID":"09d54ec87bb9411223d5cb5a6f667868","responseTime":1,"status":200,"url":"/devices/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxOH0.DjoEvir5CTfT4iZbk988WOdMb19AE6yo8kK7iaURp5k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"6ee80f611a256c968cfce96841c862df","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:58Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.207058,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:58Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444018,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxOH0.DjoEvir5CTfT4iZbk988WOdMb19AE6yo8kK7iaURp5k"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6ee80f611a256c968cfce96841c862df"},"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":"08/Jul/2024:13:06:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85/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":"6ee80f611a256c968cfce96841c862df"} device-1 | {"level":"info","message":"POST /devices/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85/websocket 200 23ms","method":"POST","requestID":"6ee80f611a256c968cfce96841c862df","responseTime":23,"status":200,"url":"/devices/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxOH0.DjoEvir5CTfT4iZbk988WOdMb19AE6yo8kK7iaURp5k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"ec25b309b7f561638dee2e58a4c5bfd6","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:58Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.171531,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444018,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxOH0.DjoEvir5CTfT4iZbk988WOdMb19AE6yo8kK7iaURp5k"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ec25b309b7f561638dee2e58a4c5bfd6"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fb54a85-13b9-4f28-a3bb-f3f2849c9e85","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fb54a85-13b9-4f28-a3bb-f3f2849c9e85","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:56.382365185Z"}]},"request_id":"1fc6fbf1-1565-4e15-9166-5fea6bafb833","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444018.5046792} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ec25b309b7f561638dee2e58a4c5bfd6"},"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":"08/Jul/2024:13:06:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85? 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":"ec25b309b7f561638dee2e58a4c5bfd6"} device-1 | {"level":"info","message":"GET /devices/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85? 200 19ms","method":"GET","requestID":"ec25b309b7f561638dee2e58a4c5bfd6","responseTime":19,"status":200,"url":"/devices/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxOH0.DjoEvir5CTfT4iZbk988WOdMb19AE6yo8kK7iaURp5k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"60b55439841af381a64102b0d485272e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:58Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.300785,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d3b53eb-95f8-4c15-ac06-362f4c90a137","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/6d3b53eb-95f8-4c15-ac06-362f4c90a137","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444018,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxOH0.DjoEvir5CTfT4iZbk988WOdMb19AE6yo8kK7iaURp5k"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"60b55439841af381a64102b0d485272e"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d3b53eb-95f8-4c15-ac06-362f4c90a137","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d3b53eb-95f8-4c15-ac06-362f4c90a137","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:56.426340908Z"}]},"request_id":"152d74e7-5722-45c8-b012-4b11473f07c8","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444018.5308123} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"60b55439841af381a64102b0d485272e"},"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":"08/Jul/2024:13:06:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6d3b53eb-95f8-4c15-ac06-362f4c90a137? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"60b55439841af381a64102b0d485272e"} device-1 | {"level":"info","message":"GET /devices/6d3b53eb-95f8-4c15-ac06-362f4c90a137? 200 17ms","method":"GET","requestID":"60b55439841af381a64102b0d485272e","responseTime":17,"status":200,"url":"/devices/6d3b53eb-95f8-4c15-ac06-362f4c90a137?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxOH0.DjoEvir5CTfT4iZbk988WOdMb19AE6yo8kK7iaURp5k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"39d0d3845128de8b5688e3db8f33acb7","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:58600","level":"info","msg":"Received request.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:58Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.25948,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:58Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444018,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxOH0.DjoEvir5CTfT4iZbk988WOdMb19AE6yo8kK7iaURp5k"} 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":"39d0d3845128de8b5688e3db8f33acb7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8984a30-eb11-49ac-b2b4-4f9ab78bc55d"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8984a30-eb11-49ac-b2b4-4f9ab78bc55d"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8984a30-eb11-49ac-b2b4-4f9ab78bc55d"},"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:58600","level":"info","msg":"Received request.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:58Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.222718,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444018,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxOH0.DjoEvir5CTfT4iZbk988WOdMb19AE6yo8kK7iaURp5k"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f55824d0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:60786","level":"info","msg":"Received request.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:58Z"} authorization-1 | {"client_addr":"127.0.0.1:60786","level":"info","msg":"Sent response.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.286113,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d3b53eb-95f8-4c15-ac06-362f4c90a137","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/6d3b53eb-95f8-4c15-ac06-362f4c90a137","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444018,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxOH0.DjoEvir5CTfT4iZbk988WOdMb19AE6yo8kK7iaURp5k"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f55872f0-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fb54a85-13b9-4f28-a3bb-f3f2849c9e85","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fb54a85-13b9-4f28-a3bb-f3f2849c9e85","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:56.382365185Z"}]},"request_id":"542b0e3f-6133-4d16-9f1d-44eda389bfcb","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444018.6000655} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f55824d0-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d3b53eb-95f8-4c15-ac06-362f4c90a137","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d3b53eb-95f8-4c15-ac06-362f4c90a137","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:56.426340908Z"}]},"request_id":"6de89596-1434-429d-b026-dba0d7d0b24e","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444018.6015577} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f55872f0-3d2a-11ef-b23c-0125361f42d1"},"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/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85? 200 18ms","method":"GET","requestID":"f55824d0-3d2a-11ef-b23c-0125361f42d1","responseTime":18,"status":200,"url":"/devices/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/6d3b53eb-95f8-4c15-ac06-362f4c90a137? 200 16ms","method":"GET","requestID":"f55872f0-3d2a-11ef-b23c-0125361f42d1","responseTime":16,"status":200,"url":"/devices/6d3b53eb-95f8-4c15-ac06-362f4c90a137?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8984a30-eb11-49ac-b2b4-4f9ab78bc55d"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8984a30-eb11-49ac-b2b4-4f9ab78bc55d"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8984a30-eb11-49ac-b2b4-4f9ab78bc55d"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8984a30-eb11-49ac-b2b4-4f9ab78bc55d"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8984a30-eb11-49ac-b2b4-4f9ab78bc55d"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8984a30-eb11-49ac-b2b4-4f9ab78bc55d"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8984a30-eb11-49ac-b2b4-4f9ab78bc55d"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8984a30-eb11-49ac-b2b4-4f9ab78bc55d"},"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/d8984a30-eb11-49ac-b2b4-4f9ab78bc55d"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:58Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.2405,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:58Z"} authorization-1 | {"client_addr":"127.0.0.1:60786","level":"info","msg":"Received request.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444018,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxOH0.DjoEvir5CTfT4iZbk988WOdMb19AE6yo8kK7iaURp5k"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f562d330-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:60786","level":"info","msg":"Sent response.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.988777,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d3b53eb-95f8-4c15-ac06-362f4c90a137","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/6d3b53eb-95f8-4c15-ac06-362f4c90a137","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444018,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxOH0.DjoEvir5CTfT4iZbk988WOdMb19AE6yo8kK7iaURp5k"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f5634860-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:58Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fb54a85-13b9-4f28-a3bb-f3f2849c9e85","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fa4a6080-467f-4d3f-ad92-ef8ebe5cadaa","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444018.67021} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.843964,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:58Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fb54a85-13b9-4f28-a3bb-f3f2849c9e85","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fb54a85-13b9-4f28-a3bb-f3f2849c9e85","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:56.382365185Z"}]},"request_id":"7a57d03e-e7c2-4c26-922c-7d3fb9c99f68","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444018.6727204} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85","object_type":"device","rebac_allow":false,"scope_allow":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":"f5636f70-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f562d330-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d3b53eb-95f8-4c15-ac06-362f4c90a137","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d3b53eb-95f8-4c15-ac06-362f4c90a137","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:56.426340908Z"}]},"request_id":"5d2e73f9-2156-4c1b-b1ca-53e85a46d41a","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444018.6740503} 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":"f5634860-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85/signaling 200 20ms","method":"POST","requestID":"f5636f70-3d2a-11ef-b23c-0125361f42d1","responseTime":20,"status":200,"url":"/devices/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85? 200 26ms","method":"GET","requestID":"f562d330-3d2a-11ef-b23c-0125361f42d1","responseTime":26,"status":200,"url":"/devices/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/6d3b53eb-95f8-4c15-ac06-362f4c90a137? 200 24ms","method":"GET","requestID":"f5634860-3d2a-11ef-b23c-0125361f42d1","responseTime":24,"status":200,"url":"/devices/6d3b53eb-95f8-4c15-ac06-362f4c90a137?"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd8984a30-eb11-49ac-b2b4-4f9ab78bc55d#owner@http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd8984a30-eb11-49ac-b2b4-4f9ab78bc55d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"dced4796-1068-4a7e-b7c5-492e5f76f1a4","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444018.6874683} 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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"010b364b-fe45-4e4d-88d6-055caf6c1956","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444018.688011} 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":"39d0d3845128de8b5688e3db8f33acb7"},"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:58600","level":"info","msg":"Received request.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:58Z"} authorization-1 | {"client_addr":"127.0.0.1:60786","level":"info","msg":"Received request.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:58Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d3b53eb-95f8-4c15-ac06-362f4c90a137","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"97d9955f-c44c-4814-8331-a33cf445f11e","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444018.6953456} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.750353,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d3b53eb-95f8-4c15-ac06-362f4c90a137","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6d3b53eb-95f8-4c15-ac06-362f4c90a137","object_type":"device","rebac_allow":false,"scope_allow":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":"f56718f0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fb54a85-13b9-4f28-a3bb-f3f2849c9e85","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"79afc507-e51c-4c14-b6c1-d2f306c3821f","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444018.6973422} authorization-1 | {"client_addr":"127.0.0.1:60786","level":"info","msg":"Sent response.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.230584,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:58Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/d8984a30-eb11-49ac-b2b4-4f9ab78bc55d","user":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85","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":"08/Jul/2024:13:06:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.160","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"39d0d3845128de8b5688e3db8f33acb7"} experiment-1 | {"level":"info","message":"POST /experiments? 201 153ms","method":"POST","requestID":"39d0d3845128de8b5688e3db8f33acb7","responseTime":153,"status":201,"url":"/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":"f5678e20-3d2a-11ef-b23c-0125361f42d1"},"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/6d3b53eb-95f8-4c15-ac06-362f4c90a137/signaling 200 16ms","method":"POST","requestID":"f56718f0-3d2a-11ef-b23c-0125361f42d1","responseTime":16,"status":200,"url":"/devices/6d3b53eb-95f8-4c15-ac06-362f4c90a137/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85/signaling 200 14ms","method":"POST","requestID":"f5678e20-3d2a-11ef-b23c-0125361f42d1","responseTime":14,"status":200,"url":"/devices/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxOH0.DjoEvir5CTfT4iZbk988WOdMb19AE6yo8kK7iaURp5k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"392f3d41978531a773ddf38f05b71630","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:58Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.859448,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:58Z"} authorization-1 | {"client_addr":"127.0.0.1:60786","level":"info","msg":"Received request.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444018,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxOH0.DjoEvir5CTfT4iZbk988WOdMb19AE6yo8kK7iaURp5k"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"392f3d41978531a773ddf38f05b71630"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d3b53eb-95f8-4c15-ac06-362f4c90a137","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e116a65a-c9f7-4e07-a40f-8af886595327","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444018.7131615} authorization-1 | {"client_addr":"127.0.0.1:60786","level":"info","msg":"Sent response.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.047621,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d3b53eb-95f8-4c15-ac06-362f4c90a137","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6d3b53eb-95f8-4c15-ac06-362f4c90a137","object_type":"device","rebac_allow":false,"scope_allow":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":"f56a4d40-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fb54a85-13b9-4f28-a3bb-f3f2849c9e85","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fb54a85-13b9-4f28-a3bb-f3f2849c9e85","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:56.382365185Z"}]},"request_id":"dc679785-aa56-4968-afb6-fcf1f16e0b5f","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444018.7177622} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/6d3b53eb-95f8-4c15-ac06-362f4c90a137/signaling 200 10ms","method":"POST","requestID":"f56a4d40-3d2a-11ef-b23c-0125361f42d1","responseTime":10,"status":200,"url":"/devices/6d3b53eb-95f8-4c15-ac06-362f4c90a137/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":"392f3d41978531a773ddf38f05b71630"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8984a30-eb11-49ac-b2b4-4f9ab78bc55d"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8984a30-eb11-49ac-b2b4-4f9ab78bc55d"},"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":"f803b604-f1a8-48cd-a97a-9bc2b15f1546"},{"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":"05d106cc-96d8-4f37-99f8-10e56e986172"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"63824499-8885-4b2d-88b8-04070a4b5a8c"}]},"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/6d3b53eb-95f8-4c15-ac06-362f4c90a137"},{"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/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85"}],"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":"08/Jul/2024:13:06:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85? 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":"392f3d41978531a773ddf38f05b71630"} device-1 | {"level":"info","message":"GET /devices/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85? 200 18ms","method":"GET","requestID":"392f3d41978531a773ddf38f05b71630","responseTime":18,"status":200,"url":"/devices/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85?"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:58Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.230394,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:58Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444018,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxOH0.DjoEvir5CTfT4iZbk988WOdMb19AE6yo8kK7iaURp5k"} 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":"f56c7020-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxOH0.DjoEvir5CTfT4iZbk988WOdMb19AE6yo8kK7iaURp5k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"df5ac2c7bca6320e8a6c07422a41373c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:58Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.815865,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d3b53eb-95f8-4c15-ac06-362f4c90a137","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/6d3b53eb-95f8-4c15-ac06-362f4c90a137","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444018,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAxOH0.DjoEvir5CTfT4iZbk988WOdMb19AE6yo8kK7iaURp5k"} 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":"df5ac2c7bca6320e8a6c07422a41373c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","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%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"b2972756-33b2-4ec9-b017-0ab471c74599","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444018.7374291} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"43bf513e-cf16-4394-a7e3-c8fedf367cbd","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444018.7376876} 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":"f56c7020-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d3b53eb-95f8-4c15-ac06-362f4c90a137","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d3b53eb-95f8-4c15-ac06-362f4c90a137","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:06:56.426340908Z"}]},"request_id":"884234e7-068d-4802-a9f4-57562822b30a","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444018.7388625} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"df5ac2c7bca6320e8a6c07422a41373c"},"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":"08/Jul/2024:13:06:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6d3b53eb-95f8-4c15-ac06-362f4c90a137? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"df5ac2c7bca6320e8a6c07422a41373c"} device-1 | {"level":"info","message":"GET /devices/6d3b53eb-95f8-4c15-ac06-362f4c90a137? 200 14ms","method":"GET","requestID":"df5ac2c7bca6320e8a6c07422a41373c","responseTime":14,"status":200,"url":"/devices/6d3b53eb-95f8-4c15-ac06-362f4c90a137?"} 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/f2201839-7cb3-4074-956c-5af3b9707110'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/f2201839-7cb3-4074-956c-5af3b9707110'"} 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":"f56c7020-3d2a-11ef-b23c-0125361f42d1","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/d8984a30-eb11-49ac-b2b4-4f9ab78bc55d"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:58Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fb54a85-13b9-4f28-a3bb-f3f2849c9e85","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4235feb6-27db-4c60-bda9-07d739e79d67","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444018.7872884} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.962497,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85","object_type":"device","rebac_allow":false,"scope_allow":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":"f57597e0-3d2a-11ef-b23c-0125361f42d1"},"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/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85/signaling 200 12ms","method":"POST","requestID":"f57597e0-3d2a-11ef-b23c-0125361f42d1","responseTime":12,"status":200,"url":"/devices/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:06:58Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d3b53eb-95f8-4c15-ac06-362f4c90a137","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"420f10cd-e961-4e28-8bc6-474d5c335149","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444018.8007827} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.55173,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:06:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d3b53eb-95f8-4c15-ac06-362f4c90a137","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6d3b53eb-95f8-4c15-ac06-362f4c90a137","object_type":"device","rebac_allow":false,"scope_allow":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":"f577bac0-3d2a-11ef-b23c-0125361f42d1"},"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/6d3b53eb-95f8-4c15-ac06-362f4c90a137/signaling 200 8ms","method":"POST","requestID":"f577bac0-3d2a-11ef-b23c-0125361f42d1","responseTime":8,"status":200,"url":"/devices/6d3b53eb-95f8-4c15-ac06-362f4c90a137/signaling"} device-1 | {"data":{"peerconnection":"f2201839-7cb3-4074-956c-5af3b9707110","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/f2201839-7cb3-4074-956c-5af3b9707110' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f2201839-7cb3-4074-956c-5af3b9707110","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":"fa8162477b3e45a271de2ea9806cfb1a","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/6d3b53eb-95f8-4c15-ac06-362f4c90a137"},{"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/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/f2201839-7cb3-4074-956c-5af3b9707110"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"fa8162477b3e45a271de2ea9806cfb1a","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"fa8162477b3e45a271de2ea9806cfb1a"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85'"} device-1 | {"data":{"peerconnection":"f2201839-7cb3-4074-956c-5af3b9707110","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"f2201839-7cb3-4074-956c-5af3b9707110","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/f2201839-7cb3-4074-956c-5af3b9707110' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f2201839-7cb3-4074-956c-5af3b9707110","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":"7f8582951a3c33bc5e0731fea09abdf2","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/6d3b53eb-95f8-4c15-ac06-362f4c90a137"},{"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/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/f2201839-7cb3-4074-956c-5af3b9707110"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:00Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff2201839-7cb3-4074-956c-5af3b9707110","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e4759e4a-0261-4af4-85e8-44ea0e68dab4","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444020.9318187} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.341604,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f2201839-7cb3-4074-956c-5af3b9707110","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/f2201839-7cb3-4074-956c-5af3b9707110","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":"f6bc96d0-3d2a-11ef-b23c-0125361f42d1"},"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/f2201839-7cb3-4074-956c-5af3b9707110 200 11ms","method":"GET","requestID":"f6bc96d0-3d2a-11ef-b23c-0125361f42d1","responseTime":11,"status":200,"url":"/peerconnections/f2201839-7cb3-4074-956c-5af3b9707110"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 43ms","method":"POST","requestID":"7f8582951a3c33bc5e0731fea09abdf2","responseTime":43,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch","requestID":"7f8582951a3c33bc5e0731fea09abdf2"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:00Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d3b53eb-95f8-4c15-ac06-362f4c90a137","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8e650429-cb26-4c29-a573-2ed0d9a102b4","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444020.9656737} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.0201,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d3b53eb-95f8-4c15-ac06-362f4c90a137","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6d3b53eb-95f8-4c15-ac06-362f4c90a137","object_type":"device","rebac_allow":false,"scope_allow":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":"f6c1ee00-3d2a-11ef-b23c-0125361f42d1"},"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/6d3b53eb-95f8-4c15-ac06-362f4c90a137/signaling 200 11ms","method":"POST","requestID":"f6c1ee00-3d2a-11ef-b23c-0125361f42d1","responseTime":11,"status":200,"url":"/devices/6d3b53eb-95f8-4c15-ac06-362f4c90a137/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:00Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fb54a85-13b9-4f28-a3bb-f3f2849c9e85","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"62156017-e8f5-4bbb-880c-c340d3679846","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444020.978928} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.052274,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85","object_type":"device","rebac_allow":false,"scope_allow":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":"f6c3e9d0-3d2a-11ef-b23c-0125361f42d1"},"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/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85/signaling 200 10ms","method":"POST","requestID":"f6c3e9d0-3d2a-11ef-b23c-0125361f42d1","responseTime":10,"status":200,"url":"/devices/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyMX0.BUI_7s7Fz4SWfv3mAYC2Lvo2IIV12k0JXhYrAQZNo7A","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"253f18db6e49c2642aed2860b7833d0e","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/d8984a30-eb11-49ac-b2b4-4f9ab78bc55d"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:01Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.108879,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d8984a30-eb11-49ac-b2b4-4f9ab78bc55d","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/d8984a30-eb11-49ac-b2b4-4f9ab78bc55d","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444021,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyMX0.BUI_7s7Fz4SWfv3mAYC2Lvo2IIV12k0JXhYrAQZNo7A"} 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":"253f18db6e49c2642aed2860b7833d0e"},"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/d8984a30-eb11-49ac-b2b4-4f9ab78bc55d"} gateway-1 | {"time_local":"08/Jul/2024:13:07:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/d8984a30-eb11-49ac-b2b4-4f9ab78bc55d HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"253f18db6e49c2642aed2860b7833d0e"} experiment-1 | {"level":"info","message":"GET /experiments/d8984a30-eb11-49ac-b2b4-4f9ab78bc55d 200 15ms","method":"GET","requestID":"253f18db6e49c2642aed2860b7833d0e","responseTime":15,"status":200,"url":"/experiments/d8984a30-eb11-49ac-b2b4-4f9ab78bc55d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyMX0.BUI_7s7Fz4SWfv3mAYC2Lvo2IIV12k0JXhYrAQZNo7A","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"df51403cbf4b56bc673fe28205100041","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/d8984a30-eb11-49ac-b2b4-4f9ab78bc55d"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:01Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.335717,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:01Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d8984a30-eb11-49ac-b2b4-4f9ab78bc55d","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/d8984a30-eb11-49ac-b2b4-4f9ab78bc55d","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444021,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyMX0.BUI_7s7Fz4SWfv3mAYC2Lvo2IIV12k0JXhYrAQZNo7A"} 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":"df51403cbf4b56bc673fe28205100041"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8984a30-eb11-49ac-b2b4-4f9ab78bc55d"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:01Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.228244,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:01Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f2201839-7cb3-4074-956c-5af3b9707110","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:http://localhost/peerconnections/f2201839-7cb3-4074-956c-5af3b9707110","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444021,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyMX0.BUI_7s7Fz4SWfv3mAYC2Lvo2IIV12k0JXhYrAQZNo7A"} 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":"f6d01ed0-3d2a-11ef-b23c-0125361f42d1"},"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/f2201839-7cb3-4074-956c-5af3b9707110' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/f2201839-7cb3-4074-956c-5af3b9707110' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f2201839-7cb3-4074-956c-5af3b9707110","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":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff2201839-7cb3-4074-956c-5af3b9707110': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff2201839-7cb3-4074-956c-5af3b9707110","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"a96927f5-7e8e-4e8c-8b8d-2056624c245d","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444021.0809512} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"91cd345f4b98f9c3b6e3803a4493eff1","responseTime":2,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f746572e-29e9-4ec0-84db-75ccc6df481c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444021.081929} 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/6d3b53eb-95f8-4c15-ac06-362f4c90a137"},{"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/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f2201839-7cb3-4074-956c-5af3b9707110"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8dc7997e45c81bdc83322c8c87f38203","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":"f6d01ed0-3d2a-11ef-b23c-0125361f42d1"},"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/6d3b53eb-95f8-4c15-ac06-362f4c90a137"},{"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/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f2201839-7cb3-4074-956c-5af3b9707110"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"f2201839-7cb3-4074-956c-5af3b9707110","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/f2201839-7cb3-4074-956c-5af3b9707110 204 53ms","method":"DELETE","requestID":"f6d01ed0-3d2a-11ef-b23c-0125361f42d1","responseTime":53,"status":204,"url":"/peerconnections/f2201839-7cb3-4074-956c-5af3b9707110"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8984a30-eb11-49ac-b2b4-4f9ab78bc55d"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:01Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d3b53eb-95f8-4c15-ac06-362f4c90a137","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5b9ed23c-9015-49e0-a63f-72fa7b13b81c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444021.1354845} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.608475,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d3b53eb-95f8-4c15-ac06-362f4c90a137","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6d3b53eb-95f8-4c15-ac06-362f4c90a137","object_type":"device","rebac_allow":false,"scope_allow":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":"f6db6970-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd8984a30-eb11-49ac-b2b4-4f9ab78bc55d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd8984a30-eb11-49ac-b2b4-4f9ab78bc55d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"11433d71-66f7-4297-9b73-79af7539575d","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444021.1419725} device-1 | {"level":"info","message":"POST /devices/6d3b53eb-95f8-4c15-ac06-362f4c90a137/signaling 200 16ms","method":"POST","requestID":"f6db6970-3d2a-11ef-b23c-0125361f42d1","responseTime":16,"status":200,"url":"/devices/6d3b53eb-95f8-4c15-ac06-362f4c90a137/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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f469b15c-e8e8-4c6f-acc1-410a7f3e061d","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444021.1425161} 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":"df51403cbf4b56bc673fe28205100041"},"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:58600","level":"info","msg":"Received request.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:01Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fb54a85-13b9-4f28-a3bb-f3f2849c9e85","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8e404d7f-00ef-43d1-a831-1e0047033413","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444021.154758} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.765553,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85","object_type":"device","rebac_allow":false,"scope_allow":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":"f6de76b0-3d2a-11ef-b23c-0125361f42d1"},"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/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85/signaling 200 15ms","method":"POST","requestID":"f6de76b0-3d2a-11ef-b23c-0125361f42d1","responseTime":15,"status":200,"url":"/devices/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/d8984a30-eb11-49ac-b2b4-4f9ab78bc55d"} gateway-1 | {"time_local":"08/Jul/2024:13:07:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/d8984a30-eb11-49ac-b2b4-4f9ab78bc55d HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.186","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"df51403cbf4b56bc673fe28205100041"} gateway-1 | {"time_local":"08/Jul/2024:13:07:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3229","request_time":"4.235","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"2242b53af9d486980185da51d9db2225"} experiment-1 | {"level":"info","message":"DELETE /experiments/d8984a30-eb11-49ac-b2b4-4f9ab78bc55d 204 182ms","method":"DELETE","requestID":"df51403cbf4b56bc673fe28205100041","responseTime":182,"status":204,"url":"/experiments/d8984a30-eb11-49ac-b2b4-4f9ab78bc55d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 138ms","method":"POST","requestID":"91cd345f4b98f9c3b6e3803a4493eff1","responseTime":138,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07: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.143","http_referrer":"","http_user_agent":"node-fetch","requestID":"91cd345f4b98f9c3b6e3803a4493eff1"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 136ms","method":"POST","requestID":"8dc7997e45c81bdc83322c8c87f38203","responseTime":136,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07: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.144","http_referrer":"","http_user_agent":"node-fetch","requestID":"8dc7997e45c81bdc83322c8c87f38203"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyMX0.BUI_7s7Fz4SWfv3mAYC2Lvo2IIV12k0JXhYrAQZNo7A","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9afa468255133db301bfe5fbcce407e7","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"08/Jul/2024:13:07:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2742","request_time":"2.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":"590bc07f1621beef21be86a7f2b7f6b4"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:01Z"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/6d3b53eb-95f8-4c15-ac06-362f4c90a137' closed"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.978457,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444021,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyMX0.BUI_7s7Fz4SWfv3mAYC2Lvo2IIV12k0JXhYrAQZNo7A"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9afa468255133db301bfe5fbcce407e7"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee8017f5-aa3a-43e7-9b29-d3fbfa8192ef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3724a63a-0afb-46f3-8c48-2eee73d5dde0","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444021.2425854} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9afa468255133db301bfe5fbcce407e7"},"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/1fb54a85-13b9-4f28-a3bb-f3f2849c9e85' 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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"52287a47-e646-4943-8d9b-03de37d1b638","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444021.2484214} 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":"9afa468255133db301bfe5fbcce407e7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee8017f5-aa3a-43e7-9b29-d3fbfa8192ef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"7439abc3-05ef-44e2-a3b4-503501cc7dea","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444021.2580152} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d727a43e-e66d-4e97-8bc4-7e3974659778","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444021.2583177} 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":"9afa468255133db301bfe5fbcce407e7"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee8017f5-aa3a-43e7-9b29-d3fbfa8192ef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee8017f5-aa3a-43e7-9b29-d3fbfa8192ef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:01.257991637Z"}]},"request_id":"b68b6edf-2a7f-4841-b1be-42f95439ea06","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444021.2634149} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9afa468255133db301bfe5fbcce407e7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"9afa468255133db301bfe5fbcce407e7","responseTime":41,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/Jul/2024:13:07: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.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9afa468255133db301bfe5fbcce407e7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyMX0.BUI_7s7Fz4SWfv3mAYC2Lvo2IIV12k0JXhYrAQZNo7A","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0d491b9842f8fac4252c82302683a19f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:01Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.481953,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444021,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyMX0.BUI_7s7Fz4SWfv3mAYC2Lvo2IIV12k0JXhYrAQZNo7A"} 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":"0d491b9842f8fac4252c82302683a19f"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f4ce9ac-efb9-46ad-ad69-1b963cb55b57","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"31692b18-e6df-490d-ada5-9a1d1745841f","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444021.287917} 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":"0d491b9842f8fac4252c82302683a19f"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2a9462d8-f41b-48b0-a088-566c03c0f554","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444021.2932858} 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":"0d491b9842f8fac4252c82302683a19f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f4ce9ac-efb9-46ad-ad69-1b963cb55b57","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"86ee2596-7cba-466d-a59c-999606014442","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444021.3097854} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5a9e614c-c773-4c7a-bd87-f9f1ca8e67b1","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444021.3100345} 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":"0d491b9842f8fac4252c82302683a19f"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f4ce9ac-efb9-46ad-ad69-1b963cb55b57","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f4ce9ac-efb9-46ad-ad69-1b963cb55b57","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:01.309475092Z"}]},"request_id":"03ba3b18-9c64-4072-ab55-ea0438ac9001","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444021.3141937} 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":"0d491b9842f8fac4252c82302683a19f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:07:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0d491b9842f8fac4252c82302683a19f"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"0d491b9842f8fac4252c82302683a19f","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyMX0.BUI_7s7Fz4SWfv3mAYC2Lvo2IIV12k0JXhYrAQZNo7A","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"08a4f7d0f6d3d0c31daa40f97b3d9fe0","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:01Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.867164,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:01Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444021,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyMX0.BUI_7s7Fz4SWfv3mAYC2Lvo2IIV12k0JXhYrAQZNo7A"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"08a4f7d0f6d3d0c31daa40f97b3d9fe0"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee8017f5-aa3a-43e7-9b29-d3fbfa8192ef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee8017f5-aa3a-43e7-9b29-d3fbfa8192ef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:01.257991637Z"}]},"request_id":"5a0207e7-c63f-475a-8270-64879a301724","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444021.810272} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"08a4f7d0f6d3d0c31daa40f97b3d9fe0"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e3be4e24-ea5c-490e-97b2-e74edb06e169","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444021.8160393} 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":"08a4f7d0f6d3d0c31daa40f97b3d9fe0"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee8017f5-aa3a-43e7-9b29-d3fbfa8192ef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee8017f5-aa3a-43e7-9b29-d3fbfa8192ef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:01.257991637Z"}]},"request_id":"79fe0c01-d249-4504-bce1-a976e57cc102","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444021.8280632} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"08a4f7d0f6d3d0c31daa40f97b3d9fe0"},"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/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef 200 32ms","method":"PATCH","requestID":"08a4f7d0f6d3d0c31daa40f97b3d9fe0","responseTime":32,"status":200,"url":"/devices/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef"} gateway-1 | {"time_local":"08/Jul/2024:13:07:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.038","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"08a4f7d0f6d3d0c31daa40f97b3d9fe0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyMX0.BUI_7s7Fz4SWfv3mAYC2Lvo2IIV12k0JXhYrAQZNo7A","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d25ddb5753238f66ad42db7383ae1600","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:01Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.132419,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:01Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444021,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyMX0.BUI_7s7Fz4SWfv3mAYC2Lvo2IIV12k0JXhYrAQZNo7A"} 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":"d25ddb5753238f66ad42db7383ae1600"},"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":"08/Jul/2024:13:07:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.023","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"d25ddb5753238f66ad42db7383ae1600"} device-1 | {"level":"info","message":"POST /devices/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef/websocket 200 18ms","method":"POST","requestID":"d25ddb5753238f66ad42db7383ae1600","responseTime":18,"status":200,"url":"/devices/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef' 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":"aeab13a3b08a2c09a558e000cafa33a8","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:07:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57/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":"aeab13a3b08a2c09a558e000cafa33a8"} device-1 | {"level":"info","message":"OPTIONS /devices/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57/websocket 200 1ms","method":"OPTIONS","requestID":"aeab13a3b08a2c09a558e000cafa33a8","responseTime":1,"status":200,"url":"/devices/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyM30.OGviEIxAFr1F3LRix8fLqQzw5Y9nqYTEVAH44xT5qx4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"46fe9a422f2d53794298481c21c81b19","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:03Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.232898,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:03Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444023,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyM30.OGviEIxAFr1F3LRix8fLqQzw5Y9nqYTEVAH44xT5qx4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"46fe9a422f2d53794298481c21c81b19"},"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/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57/websocket 200 24ms","method":"POST","requestID":"46fe9a422f2d53794298481c21c81b19","responseTime":24,"status":200,"url":"/devices/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57/websocket"} gateway-1 | {"time_local":"08/Jul/2024:13:07:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.032","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"46fe9a422f2d53794298481c21c81b19"} device-1 | {"level":"info","message":"device 'http://localhost/devices/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyM30.OGviEIxAFr1F3LRix8fLqQzw5Y9nqYTEVAH44xT5qx4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"424047f5719746c5e0b14ff0b1f496a2","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:03Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.206156,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444023,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyM30.OGviEIxAFr1F3LRix8fLqQzw5Y9nqYTEVAH44xT5qx4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"424047f5719746c5e0b14ff0b1f496a2"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee8017f5-aa3a-43e7-9b29-d3fbfa8192ef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee8017f5-aa3a-43e7-9b29-d3fbfa8192ef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:01.257991637Z"}]},"request_id":"384b3293-a852-4060-ac0d-360c2a7333dc","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444023.3964458} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"424047f5719746c5e0b14ff0b1f496a2"},"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":"08/Jul/2024:13:07:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"424047f5719746c5e0b14ff0b1f496a2"} device-1 | {"level":"info","message":"GET /devices/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef? 200 16ms","method":"GET","requestID":"424047f5719746c5e0b14ff0b1f496a2","responseTime":16,"status":200,"url":"/devices/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyM30.OGviEIxAFr1F3LRix8fLqQzw5Y9nqYTEVAH44xT5qx4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e16b18d37682b65a915c754b507d9cd1","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:03Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.260469,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444023,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyM30.OGviEIxAFr1F3LRix8fLqQzw5Y9nqYTEVAH44xT5qx4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e16b18d37682b65a915c754b507d9cd1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f4ce9ac-efb9-46ad-ad69-1b963cb55b57","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f4ce9ac-efb9-46ad-ad69-1b963cb55b57","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:01.309475092Z"}]},"request_id":"f564a029-aad9-4c84-b201-09c0887af10a","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444023.4221} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e16b18d37682b65a915c754b507d9cd1"},"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/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57? 200 19ms","method":"GET","requestID":"e16b18d37682b65a915c754b507d9cd1","responseTime":19,"status":200,"url":"/devices/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57?"} gateway-1 | {"time_local":"08/Jul/2024:13:07:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57? 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":"e16b18d37682b65a915c754b507d9cd1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyM30.OGviEIxAFr1F3LRix8fLqQzw5Y9nqYTEVAH44xT5qx4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"a0f712c5a2801ef63a896fa0e038d913","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:58600","level":"info","msg":"Received request.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:03Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.241376,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444023,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyM30.OGviEIxAFr1F3LRix8fLqQzw5Y9nqYTEVAH44xT5qx4"} 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":"a0f712c5a2801ef63a896fa0e038d913"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1849e852-1aee-497f-9088-647ec2c2fbbe"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1849e852-1aee-497f-9088-647ec2c2fbbe"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1849e852-1aee-497f-9088-647ec2c2fbbe"},"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:58600","level":"info","msg":"Received request.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:03Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.117953,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:03Z"} authorization-1 | {"client_addr":"127.0.0.1:60786","level":"info","msg":"Received request.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444023,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyM30.OGviEIxAFr1F3LRix8fLqQzw5Y9nqYTEVAH44xT5qx4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f842e8b0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:60786","level":"info","msg":"Sent response.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.188482,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444023,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyM30.OGviEIxAFr1F3LRix8fLqQzw5Y9nqYTEVAH44xT5qx4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f8430fc0-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee8017f5-aa3a-43e7-9b29-d3fbfa8192ef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee8017f5-aa3a-43e7-9b29-d3fbfa8192ef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:01.257991637Z"}]},"request_id":"87a56cfb-2582-444e-8684-248ad55269db","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444023.4932072} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f842e8b0-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f4ce9ac-efb9-46ad-ad69-1b963cb55b57","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f4ce9ac-efb9-46ad-ad69-1b963cb55b57","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:01.309475092Z"}]},"request_id":"0db95862-cecc-4774-8fcf-582e54a38d51","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444023.4947267} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f8430fc0-3d2a-11ef-b23c-0125361f42d1"},"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/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef? 200 17ms","method":"GET","requestID":"f842e8b0-3d2a-11ef-b23c-0125361f42d1","responseTime":17,"status":200,"url":"/devices/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57? 200 17ms","method":"GET","requestID":"f8430fc0-3d2a-11ef-b23c-0125361f42d1","responseTime":17,"status":200,"url":"/devices/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1849e852-1aee-497f-9088-647ec2c2fbbe"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1849e852-1aee-497f-9088-647ec2c2fbbe"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1849e852-1aee-497f-9088-647ec2c2fbbe"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1849e852-1aee-497f-9088-647ec2c2fbbe"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1849e852-1aee-497f-9088-647ec2c2fbbe"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1849e852-1aee-497f-9088-647ec2c2fbbe"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1849e852-1aee-497f-9088-647ec2c2fbbe"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1849e852-1aee-497f-9088-647ec2c2fbbe"},"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:58600","level":"info","msg":"Received request.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:03Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.036249,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:03Z"} authorization-1 | {"client_addr":"127.0.0.1:60786","level":"info","msg":"Received request.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:03Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1849e852-1aee-497f-9088-647ec2c2fbbe"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444023,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyM30.OGviEIxAFr1F3LRix8fLqQzw5Y9nqYTEVAH44xT5qx4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f84cfad0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:60786","level":"info","msg":"Sent response.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.686936,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444023,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyM30.OGviEIxAFr1F3LRix8fLqQzw5Y9nqYTEVAH44xT5qx4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f84d48f0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:03Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.630507,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:03Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee8017f5-aa3a-43e7-9b29-d3fbfa8192ef","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"388e39a7-8f3f-44ef-aaa8-a2b5234ce9e6","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444023.5617812} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef","object_type":"device","rebac_allow":false,"scope_allow":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":"f84d9710-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f4ce9ac-efb9-46ad-ad69-1b963cb55b57","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f4ce9ac-efb9-46ad-ad69-1b963cb55b57","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:01.309475092Z"}]},"request_id":"d2d577bf-6058-488d-aa3b-0e96db792b83","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444023.5637558} 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":"f84d48f0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee8017f5-aa3a-43e7-9b29-d3fbfa8192ef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee8017f5-aa3a-43e7-9b29-d3fbfa8192ef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:01.257991637Z"}]},"request_id":"9f697cd9-6a84-4366-ae10-8b0e6318d148","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444023.566925} device-1 | {"level":"info","message":"POST /devices/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef/signaling 200 15ms","method":"POST","requestID":"f84d9710-3d2a-11ef-b23c-0125361f42d1","responseTime":15,"status":200,"url":"/devices/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef/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":"f84cfad0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:03Z"} device-1 | {"level":"info","message":"GET /devices/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57? 200 23ms","method":"GET","requestID":"f84d48f0-3d2a-11ef-b23c-0125361f42d1","responseTime":23,"status":200,"url":"/devices/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef? 200 26ms","method":"GET","requestID":"f84cfad0-3d2a-11ef-b23c-0125361f42d1","responseTime":26,"status":200,"url":"/devices/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef?"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f4ce9ac-efb9-46ad-ad69-1b963cb55b57","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ace20d6e-2d11-4175-bcba-aff875f08aa6","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444023.5753858} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.504052,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:03Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57","object_type":"device","rebac_allow":false,"scope_allow":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":"f8502f20-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1849e852-1aee-497f-9088-647ec2c2fbbe#owner@http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1849e852-1aee-497f-9088-647ec2c2fbbe","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"80ae283c-73fe-4228-a373-3216839e13b1","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444023.5775812} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d07883f8-bd96-46dc-81d5-7852b0f3ea8c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444023.577955} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57/signaling 200 11ms","method":"POST","requestID":"f8502f20-3d2a-11ef-b23c-0125361f42d1","responseTime":11,"status":200,"url":"/devices/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57/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":"a0f712c5a2801ef63a896fa0e038d913"},"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:58600","level":"info","msg":"Received request.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:03Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/1849e852-1aee-497f-9088-647ec2c2fbbe","user":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee8017f5-aa3a-43e7-9b29-d3fbfa8192ef","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"be67a4c7-9096-4221-9ac6-da5a9c1e3879","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444023.5877922} gateway-1 | {"time_local":"08/Jul/2024:13:07:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.158","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a0f712c5a2801ef63a896fa0e038d913"} experiment-1 | {"level":"info","message":"POST /experiments? 201 151ms","method":"POST","requestID":"a0f712c5a2801ef63a896fa0e038d913","responseTime":151,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":7.292313,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef","object_type":"device","rebac_allow":false,"scope_allow":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":"f8514090-3d2a-11ef-b23c-0125361f42d1"},"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/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef/signaling 200 15ms","method":"POST","requestID":"f8514090-3d2a-11ef-b23c-0125361f42d1","responseTime":15,"status":200,"url":"/devices/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyM30.OGviEIxAFr1F3LRix8fLqQzw5Y9nqYTEVAH44xT5qx4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fae2e491f7e59339afd3dafba8d8dece","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:58600","level":"info","msg":"Received request.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:03Z"} authorization-1 | {"client_addr":"127.0.0.1:60786","level":"info","msg":"Received request.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:03Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f4ce9ac-efb9-46ad-ad69-1b963cb55b57","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c89e5ce0-5841-45a6-bf97-5ad69da7e377","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444023.5991333} authorization-1 | {"client_addr":"127.0.0.1:60786","level":"info","msg":"Sent response.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.917113,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:03Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.108564,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444023,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyM30.OGviEIxAFr1F3LRix8fLqQzw5Y9nqYTEVAH44xT5qx4"} 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":"fae2e491f7e59339afd3dafba8d8dece"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57","object_type":"device","rebac_allow":false,"scope_allow":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":"f853d8a0-3d2a-11ef-b23c-0125361f42d1"},"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/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57/signaling 200 11ms","method":"POST","requestID":"f853d8a0-3d2a-11ef-b23c-0125361f42d1","responseTime":11,"status":200,"url":"/devices/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1849e852-1aee-497f-9088-647ec2c2fbbe"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1849e852-1aee-497f-9088-647ec2c2fbbe"},"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":"9eeca1be-b63a-41eb-9a50-ecdc1a3c3699"},{"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":"2ce4ddc9-2197-4f12-b074-795e32a63ffe"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"f64a4bcc-a9c5-40d9-a9ac-707567bf6463"}]},"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/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef"},{"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/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57"}],"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee8017f5-aa3a-43e7-9b29-d3fbfa8192ef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee8017f5-aa3a-43e7-9b29-d3fbfa8192ef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:01.257991637Z"}]},"request_id":"6a55f52f-23c5-40f9-bc30-1e019bb2e49c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444023.608438} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fae2e491f7e59339afd3dafba8d8dece"},"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:58600","level":"info","msg":"Received request.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:03Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.800276,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:03Z"} gateway-1 | {"time_local":"08/Jul/2024:13:07:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fae2e491f7e59339afd3dafba8d8dece"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444023,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyM30.OGviEIxAFr1F3LRix8fLqQzw5Y9nqYTEVAH44xT5qx4"} device-1 | {"level":"info","message":"GET /devices/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef? 200 15ms","method":"GET","requestID":"fae2e491f7e59339afd3dafba8d8dece","responseTime":15,"status":200,"url":"/devices/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef?"} 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":"f855fb80-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyM30.OGviEIxAFr1F3LRix8fLqQzw5Y9nqYTEVAH44xT5qx4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7603dc82eda483d95e7ad394d3b458d0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","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%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"4bcbe0b9-72b9-43ac-a0da-48dc0a1b2cd3","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444023.6204169} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4e96d59e-f9f0-4ec0-91c9-986fcfb71276","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444023.6205454} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:03Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.739025,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:03Z"} 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":"f855fb80-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444023,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyM30.OGviEIxAFr1F3LRix8fLqQzw5Y9nqYTEVAH44xT5qx4"} 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":"7603dc82eda483d95e7ad394d3b458d0"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f4ce9ac-efb9-46ad-ad69-1b963cb55b57","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f4ce9ac-efb9-46ad-ad69-1b963cb55b57","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:01.309475092Z"}]},"request_id":"1e7f55d0-2f0d-4982-b831-bd4bf1d826f1","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444023.6264644} 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":"7603dc82eda483d95e7ad394d3b458d0"},"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/6bbef732-b89f-4c30-8c3c-83a41e6692e0'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/6bbef732-b89f-4c30-8c3c-83a41e6692e0'"} 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":"f855fb80-3d2a-11ef-b23c-0125361f42d1","responseTime":30,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:07:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57? 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":"7603dc82eda483d95e7ad394d3b458d0"} device-1 | {"level":"info","message":"GET /devices/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57? 200 22ms","method":"GET","requestID":"7603dc82eda483d95e7ad394d3b458d0","responseTime":22,"status":200,"url":"/devices/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1849e852-1aee-497f-9088-647ec2c2fbbe"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:03Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee8017f5-aa3a-43e7-9b29-d3fbfa8192ef","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c97305ef-bc51-4ee3-a028-bf8c6b3c76d8","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444023.6719642} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.685231,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef","object_type":"device","rebac_allow":false,"scope_allow":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":"f85efc30-3d2a-11ef-b23c-0125361f42d1"},"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/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef/signaling 200 11ms","method":"POST","requestID":"f85efc30-3d2a-11ef-b23c-0125361f42d1","responseTime":11,"status":200,"url":"/devices/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:03Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f4ce9ac-efb9-46ad-ad69-1b963cb55b57","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"607d80dc-74c0-4781-93ba-9939b1913f57","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444023.6834693} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":1.994645,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f860d0f0-3d2a-11ef-b23c-0125361f42d1"},"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/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57/signaling 200 8ms","method":"POST","requestID":"f860d0f0-3d2a-11ef-b23c-0125361f42d1","responseTime":8,"status":200,"url":"/devices/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57/signaling"} device-1 | {"data":{"peerconnection":"6bbef732-b89f-4c30-8c3c-83a41e6692e0","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/6bbef732-b89f-4c30-8c3c-83a41e6692e0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6bbef732-b89f-4c30-8c3c-83a41e6692e0","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":"73494a86f483cd21c50c72b753600bb4","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef"},{"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/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/6bbef732-b89f-4c30-8c3c-83a41e6692e0"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"73494a86f483cd21c50c72b753600bb4","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"73494a86f483cd21c50c72b753600bb4"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57'"} device-1 | {"data":{"peerconnection":"6bbef732-b89f-4c30-8c3c-83a41e6692e0","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"6bbef732-b89f-4c30-8c3c-83a41e6692e0","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/6bbef732-b89f-4c30-8c3c-83a41e6692e0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6bbef732-b89f-4c30-8c3c-83a41e6692e0","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":"1cd6b718951bea4178e40829e85a2305","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/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef"},{"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/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/6bbef732-b89f-4c30-8c3c-83a41e6692e0"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:05Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6bbef732-b89f-4c30-8c3c-83a41e6692e0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"76abfa1f-a366-4813-b499-f1557569a0a0","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444025.7922156} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.953733,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6bbef732-b89f-4c30-8c3c-83a41e6692e0","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/6bbef732-b89f-4c30-8c3c-83a41e6692e0","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":"f9a251a0-3d2a-11ef-b23c-0125361f42d1"},"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/6bbef732-b89f-4c30-8c3c-83a41e6692e0 200 12ms","method":"GET","requestID":"f9a251a0-3d2a-11ef-b23c-0125361f42d1","responseTime":12,"status":200,"url":"/peerconnections/6bbef732-b89f-4c30-8c3c-83a41e6692e0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 37ms","method":"POST","requestID":"1cd6b718951bea4178e40829e85a2305","responseTime":37,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch","requestID":"1cd6b718951bea4178e40829e85a2305"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:05Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee8017f5-aa3a-43e7-9b29-d3fbfa8192ef","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3a219481-3db2-4c77-a09a-87587d31595d","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444025.8204255} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.016944,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef","object_type":"device","rebac_allow":false,"scope_allow":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":"f9a69760-3d2a-11ef-b23c-0125361f42d1"},"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/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef/signaling 200 11ms","method":"POST","requestID":"f9a69760-3d2a-11ef-b23c-0125361f42d1","responseTime":11,"status":200,"url":"/devices/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:05Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f4ce9ac-efb9-46ad-ad69-1b963cb55b57","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7d2bbe73-7f8f-4f91-b16e-b65df9a08447","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444025.8357246} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.058057,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57","object_type":"device","rebac_allow":false,"scope_allow":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":"f9a8e150-3d2a-11ef-b23c-0125361f42d1"},"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/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57/signaling 200 11ms","method":"POST","requestID":"f9a8e150-3d2a-11ef-b23c-0125361f42d1","responseTime":11,"status":200,"url":"/devices/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyNX0.iJlMVJJSpR13XeAWbUmPAgnt4zLGNbKlhQXeHMUIgZA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1a7c2ab3b09b14501794b26cd0560c2b","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/1849e852-1aee-497f-9088-647ec2c2fbbe"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:05Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.021014,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1849e852-1aee-497f-9088-647ec2c2fbbe","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/1849e852-1aee-497f-9088-647ec2c2fbbe","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444025,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyNX0.iJlMVJJSpR13XeAWbUmPAgnt4zLGNbKlhQXeHMUIgZA"} 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":"1a7c2ab3b09b14501794b26cd0560c2b"},"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/1849e852-1aee-497f-9088-647ec2c2fbbe"} experiment-1 | {"level":"info","message":"GET /experiments/1849e852-1aee-497f-9088-647ec2c2fbbe 200 14ms","method":"GET","requestID":"1a7c2ab3b09b14501794b26cd0560c2b","responseTime":14,"status":200,"url":"/experiments/1849e852-1aee-497f-9088-647ec2c2fbbe"} gateway-1 | {"time_local":"08/Jul/2024:13:07:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/1849e852-1aee-497f-9088-647ec2c2fbbe HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1a7c2ab3b09b14501794b26cd0560c2b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyNX0.iJlMVJJSpR13XeAWbUmPAgnt4zLGNbKlhQXeHMUIgZA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ee6099ebfa836973b9dca8d247a7e664","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/1849e852-1aee-497f-9088-647ec2c2fbbe"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:05Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.202411,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:05Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1849e852-1aee-497f-9088-647ec2c2fbbe","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/1849e852-1aee-497f-9088-647ec2c2fbbe","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444025,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyNX0.iJlMVJJSpR13XeAWbUmPAgnt4zLGNbKlhQXeHMUIgZA"} 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":"ee6099ebfa836973b9dca8d247a7e664"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1849e852-1aee-497f-9088-647ec2c2fbbe"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:05Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.679718,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:05Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6bbef732-b89f-4c30-8c3c-83a41e6692e0","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:http://localhost/peerconnections/6bbef732-b89f-4c30-8c3c-83a41e6692e0","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444025,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyNX0.iJlMVJJSpR13XeAWbUmPAgnt4zLGNbKlhQXeHMUIgZA"} 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":"f9b58b80-3d2a-11ef-b23c-0125361f42d1"},"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/6bbef732-b89f-4c30-8c3c-83a41e6692e0' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/6bbef732-b89f-4c30-8c3c-83a41e6692e0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6bbef732-b89f-4c30-8c3c-83a41e6692e0","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":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6bbef732-b89f-4c30-8c3c-83a41e6692e0': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6bbef732-b89f-4c30-8c3c-83a41e6692e0","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"973f98cf-64d0-4060-b8b7-e8c5072155c1","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444025.9299192} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a36e102f-c6ed-47a1-81a5-196aa87e8e7d","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444025.9302628} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d463d03dd7a974c4b6fefcef3c3daa08","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"10c26c1768b141b43c137a8698a690ab","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f9b58b80-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-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/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef"},{"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/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6bbef732-b89f-4c30-8c3c-83a41e6692e0"}}},"level":"info","message":"received a callback"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef"},{"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/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6bbef732-b89f-4c30-8c3c-83a41e6692e0"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"6bbef732-b89f-4c30-8c3c-83a41e6692e0","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/6bbef732-b89f-4c30-8c3c-83a41e6692e0 204 41ms","method":"DELETE","requestID":"f9b58b80-3d2a-11ef-b23c-0125361f42d1","responseTime":41,"status":204,"url":"/peerconnections/6bbef732-b89f-4c30-8c3c-83a41e6692e0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1849e852-1aee-497f-9088-647ec2c2fbbe"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:05Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee8017f5-aa3a-43e7-9b29-d3fbfa8192ef","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8a9db7ed-8649-45af-8d21-a75f3d8af3be","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444025.9867418} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.69465,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef","object_type":"device","rebac_allow":false,"scope_allow":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":"f9bfc4b0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1849e852-1aee-497f-9088-647ec2c2fbbe': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1849e852-1aee-497f-9088-647ec2c2fbbe","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"613eb943-f659-4d13-9dd7-7ba6873b4a41","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444025.9922085} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef/signaling 200 14ms","method":"POST","requestID":"f9bfc4b0-3d2a-11ef-b23c-0125361f42d1","responseTime":14,"status":200,"url":"/devices/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef/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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"13393b1f-1b18-4840-9df2-032bcdd8a035","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444025.9928553} 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":"ee6099ebfa836973b9dca8d247a7e664"},"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:58600","level":"info","msg":"Received request.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:06Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f4ce9ac-efb9-46ad-ad69-1b963cb55b57","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5648790f-7f2c-4419-ba27-24fe2b098c91","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444026.004087} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.557733,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57","object_type":"device","rebac_allow":false,"scope_allow":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":"f9c25cc0-3d2a-11ef-b23c-0125361f42d1"},"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/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57/signaling 200 15ms","method":"POST","requestID":"f9c25cc0-3d2a-11ef-b23c-0125361f42d1","responseTime":15,"status":200,"url":"/devices/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/1849e852-1aee-497f-9088-647ec2c2fbbe"} gateway-1 | {"time_local":"08/Jul/2024:13:07:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/1849e852-1aee-497f-9088-647ec2c2fbbe HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.170","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ee6099ebfa836973b9dca8d247a7e664"} experiment-1 | {"level":"info","message":"DELETE /experiments/1849e852-1aee-497f-9088-647ec2c2fbbe 204 167ms","method":"DELETE","requestID":"ee6099ebfa836973b9dca8d247a7e664","responseTime":167,"status":204,"url":"/experiments/1849e852-1aee-497f-9088-647ec2c2fbbe"} gateway-1 | {"time_local":"08/Jul/2024:13:07:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3231","request_time":"4.207","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"e96eba6ee99f8f7ec44a0e56ed77136a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 133ms","method":"POST","requestID":"d463d03dd7a974c4b6fefcef3c3daa08","responseTime":133,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07: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.138","http_referrer":"","http_user_agent":"node-fetch","requestID":"d463d03dd7a974c4b6fefcef3c3daa08"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 132ms","method":"POST","requestID":"10c26c1768b141b43c137a8698a690ab","responseTime":132,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07: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.140","http_referrer":"","http_user_agent":"node-fetch","requestID":"10c26c1768b141b43c137a8698a690ab"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyNn0.pN9AtH0pIi90UtVSrhghTEQgGDqo_ASkXHi2Gg_q9Dw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"13313d3f945018e6c77390e6d158a596","responseTime":4,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:07:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2740","request_time":"2.712","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a4dbaee8c6483a3b50c8d3d744dbebae"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:06Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.023451,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444026,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyNn0.pN9AtH0pIi90UtVSrhghTEQgGDqo_ASkXHi2Gg_q9Dw"} 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":"13313d3f945018e6c77390e6d158a596"},"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/ee8017f5-aa3a-43e7-9b29-d3fbfa8192ef' 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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb40faddb-78b3-47dc-a707-ca17fb0fe16d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6865ede2-d660-467e-9eb6-b1c468b7fb2c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444026.0941546} 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":"13313d3f945018e6c77390e6d158a596"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"54b8a175-cb2c-422c-8950-48e80dfb4ebc","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444026.099152} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/8f4ce9ac-efb9-46ad-ad69-1b963cb55b57' closed"} 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":"13313d3f945018e6c77390e6d158a596"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb40faddb-78b3-47dc-a707-ca17fb0fe16d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"31249fdf-179e-4d7c-8600-49a59041c639","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444026.112964} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4e188eaf-1e2b-4bbe-9091-3229255f7827","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444026.1131947} 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":"13313d3f945018e6c77390e6d158a596"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb40faddb-78b3-47dc-a707-ca17fb0fe16d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb40faddb-78b3-47dc-a707-ca17fb0fe16d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:06.112942703Z"}]},"request_id":"316d51b6-4117-49c3-bedc-6fbe1b782e8b","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444026.1174297} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"13313d3f945018e6c77390e6d158a596"},"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 45ms","method":"POST","requestID":"13313d3f945018e6c77390e6d158a596","responseTime":45,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/Jul/2024:13:07:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"13313d3f945018e6c77390e6d158a596"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyNn0.pN9AtH0pIi90UtVSrhghTEQgGDqo_ASkXHi2Gg_q9Dw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9689c6d063fae141f3c58c966b035e2f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:06Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.77031,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444026,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyNn0.pN9AtH0pIi90UtVSrhghTEQgGDqo_ASkXHi2Gg_q9Dw"} 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":"9689c6d063fae141f3c58c966b035e2f"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a61f633-77e5-4e81-a4d6-22403a93246b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"95fedcd7-d3ab-4fce-ae31-897473033e95","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444026.1408768} 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":"9689c6d063fae141f3c58c966b035e2f"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a937b0ea-c0d2-4a26-971e-a1aadb97bbed","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444026.1459255} 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":"9689c6d063fae141f3c58c966b035e2f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a61f633-77e5-4e81-a4d6-22403a93246b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"fbccb31b-b49e-4934-8dc2-0732c16d11f5","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444026.1561632} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3784a7b5-7656-420f-8177-d43e81c9f409","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444026.1562862} 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":"9689c6d063fae141f3c58c966b035e2f"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a61f633-77e5-4e81-a4d6-22403a93246b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a61f633-77e5-4e81-a4d6-22403a93246b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:06.156135536Z"}]},"request_id":"971a55ed-b9aa-404f-801f-0d530ee3cee4","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444026.1606355} 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":"9689c6d063fae141f3c58c966b035e2f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:07:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9689c6d063fae141f3c58c966b035e2f"} device-1 | {"level":"info","message":"POST /devices? 201 37ms","method":"POST","requestID":"9689c6d063fae141f3c58c966b035e2f","responseTime":37,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyNn0.pN9AtH0pIi90UtVSrhghTEQgGDqo_ASkXHi2Gg_q9Dw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f4e1db468b0f9eb4def9565b41697359","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:06Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.167003,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:06Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b40faddb-78b3-47dc-a707-ca17fb0fe16d","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/b40faddb-78b3-47dc-a707-ca17fb0fe16d","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444026,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyNn0.pN9AtH0pIi90UtVSrhghTEQgGDqo_ASkXHi2Gg_q9Dw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f4e1db468b0f9eb4def9565b41697359"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb40faddb-78b3-47dc-a707-ca17fb0fe16d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb40faddb-78b3-47dc-a707-ca17fb0fe16d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:06.112942703Z"}]},"request_id":"4feb0a19-ecc3-4f50-9450-ea1a548697d9","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444026.6515207} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f4e1db468b0f9eb4def9565b41697359"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f1cd5e71-9c6c-4715-9586-4be004b076ba","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444026.6582038} 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":"f4e1db468b0f9eb4def9565b41697359"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb40faddb-78b3-47dc-a707-ca17fb0fe16d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb40faddb-78b3-47dc-a707-ca17fb0fe16d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:06.112942703Z"}]},"request_id":"8b45e912-6325-4397-8ca4-71569001a9f3","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444026.6700897} 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":"f4e1db468b0f9eb4def9565b41697359"},"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":"08/Jul/2024:13:07:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/b40faddb-78b3-47dc-a707-ca17fb0fe16d HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.042","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"f4e1db468b0f9eb4def9565b41697359"} device-1 | {"level":"info","message":"PATCH /devices/b40faddb-78b3-47dc-a707-ca17fb0fe16d 200 36ms","method":"PATCH","requestID":"f4e1db468b0f9eb4def9565b41697359","responseTime":36,"status":200,"url":"/devices/b40faddb-78b3-47dc-a707-ca17fb0fe16d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyNn0.pN9AtH0pIi90UtVSrhghTEQgGDqo_ASkXHi2Gg_q9Dw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"33840d0f2b910fe414312c385c93f788","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:06Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.065673,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:06Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b40faddb-78b3-47dc-a707-ca17fb0fe16d","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/b40faddb-78b3-47dc-a707-ca17fb0fe16d","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444026,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyNn0.pN9AtH0pIi90UtVSrhghTEQgGDqo_ASkXHi2Gg_q9Dw"} 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":"33840d0f2b910fe414312c385c93f788"},"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":"08/Jul/2024:13:07:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b40faddb-78b3-47dc-a707-ca17fb0fe16d/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.025","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"33840d0f2b910fe414312c385c93f788"} device-1 | {"level":"info","message":"POST /devices/b40faddb-78b3-47dc-a707-ca17fb0fe16d/websocket 200 19ms","method":"POST","requestID":"33840d0f2b910fe414312c385c93f788","responseTime":19,"status":200,"url":"/devices/b40faddb-78b3-47dc-a707-ca17fb0fe16d/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b40faddb-78b3-47dc-a707-ca17fb0fe16d' 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":"9eae4bad835f0fe79ee37b0a710afb0b","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:07:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/0a61f633-77e5-4e81-a4d6-22403a93246b/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":"9eae4bad835f0fe79ee37b0a710afb0b"} device-1 | {"level":"info","message":"OPTIONS /devices/0a61f633-77e5-4e81-a4d6-22403a93246b/websocket 200 1ms","method":"OPTIONS","requestID":"9eae4bad835f0fe79ee37b0a710afb0b","responseTime":1,"status":200,"url":"/devices/0a61f633-77e5-4e81-a4d6-22403a93246b/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyOH0.O-bR8ZOvIE85zNCZyUWyltRhORMaRxe6UWgvA2jxIV8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2d2a9a7d79c41234c9d80c9314c40450","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:08Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.205935,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:08Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a61f633-77e5-4e81-a4d6-22403a93246b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/0a61f633-77e5-4e81-a4d6-22403a93246b","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444028,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyOH0.O-bR8ZOvIE85zNCZyUWyltRhORMaRxe6UWgvA2jxIV8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2d2a9a7d79c41234c9d80c9314c40450"},"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/0a61f633-77e5-4e81-a4d6-22403a93246b/websocket 200 21ms","method":"POST","requestID":"2d2a9a7d79c41234c9d80c9314c40450","responseTime":21,"status":200,"url":"/devices/0a61f633-77e5-4e81-a4d6-22403a93246b/websocket"} gateway-1 | {"time_local":"08/Jul/2024:13:07:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0a61f633-77e5-4e81-a4d6-22403a93246b/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.026","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"2d2a9a7d79c41234c9d80c9314c40450"} device-1 | {"level":"info","message":"device 'http://localhost/devices/0a61f633-77e5-4e81-a4d6-22403a93246b' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyOH0.O-bR8ZOvIE85zNCZyUWyltRhORMaRxe6UWgvA2jxIV8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6e692611f9b66bd4a2eccb086a1da083","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:08Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.12256,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b40faddb-78b3-47dc-a707-ca17fb0fe16d","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/b40faddb-78b3-47dc-a707-ca17fb0fe16d","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444028,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyOH0.O-bR8ZOvIE85zNCZyUWyltRhORMaRxe6UWgvA2jxIV8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6e692611f9b66bd4a2eccb086a1da083"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb40faddb-78b3-47dc-a707-ca17fb0fe16d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb40faddb-78b3-47dc-a707-ca17fb0fe16d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:06.112942703Z"}]},"request_id":"4f0f2b83-7d98-42f7-851e-8ea485746523","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444028.213508} 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":"6e692611f9b66bd4a2eccb086a1da083"},"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":"08/Jul/2024:13:07:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b40faddb-78b3-47dc-a707-ca17fb0fe16d? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6e692611f9b66bd4a2eccb086a1da083"} device-1 | {"level":"info","message":"GET /devices/b40faddb-78b3-47dc-a707-ca17fb0fe16d? 200 22ms","method":"GET","requestID":"6e692611f9b66bd4a2eccb086a1da083","responseTime":22,"status":200,"url":"/devices/b40faddb-78b3-47dc-a707-ca17fb0fe16d?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyOH0.O-bR8ZOvIE85zNCZyUWyltRhORMaRxe6UWgvA2jxIV8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"589eb4ce2e53924bcca084baaabfeda9","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:08Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.429435,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a61f633-77e5-4e81-a4d6-22403a93246b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/0a61f633-77e5-4e81-a4d6-22403a93246b","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444028,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyOH0.O-bR8ZOvIE85zNCZyUWyltRhORMaRxe6UWgvA2jxIV8"} 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":"589eb4ce2e53924bcca084baaabfeda9"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a61f633-77e5-4e81-a4d6-22403a93246b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a61f633-77e5-4e81-a4d6-22403a93246b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:06.156135536Z"}]},"request_id":"aa312ea2-e78a-4dfb-bb0d-d9fa140a8a3b","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444028.2455602} 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":"589eb4ce2e53924bcca084baaabfeda9"},"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":"08/Jul/2024:13:07:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0a61f633-77e5-4e81-a4d6-22403a93246b? 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":"589eb4ce2e53924bcca084baaabfeda9"} device-1 | {"level":"info","message":"GET /devices/0a61f633-77e5-4e81-a4d6-22403a93246b? 200 21ms","method":"GET","requestID":"589eb4ce2e53924bcca084baaabfeda9","responseTime":21,"status":200,"url":"/devices/0a61f633-77e5-4e81-a4d6-22403a93246b?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyOH0.O-bR8ZOvIE85zNCZyUWyltRhORMaRxe6UWgvA2jxIV8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"bbc432422edc14fe02349024d35cd4b7","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:58600","level":"info","msg":"Received request.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:08Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.415418,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:08Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444028,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyOH0.O-bR8ZOvIE85zNCZyUWyltRhORMaRxe6UWgvA2jxIV8"} 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":"bbc432422edc14fe02349024d35cd4b7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b1989459-4fba-42c6-80c4-0480ce887612"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b1989459-4fba-42c6-80c4-0480ce887612"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b1989459-4fba-42c6-80c4-0480ce887612"},"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:58600","level":"info","msg":"Received request.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:08Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.504429,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b40faddb-78b3-47dc-a707-ca17fb0fe16d","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/b40faddb-78b3-47dc-a707-ca17fb0fe16d","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444028,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyOH0.O-bR8ZOvIE85zNCZyUWyltRhORMaRxe6UWgvA2jxIV8"} 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":"fb22d720-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:38528","level":"info","msg":"Received request.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:08Z"} authorization-1 | {"client_addr":"127.0.0.1:38528","level":"info","msg":"Sent response.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.281351,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a61f633-77e5-4e81-a4d6-22403a93246b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/0a61f633-77e5-4e81-a4d6-22403a93246b","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444028,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyOH0.O-bR8ZOvIE85zNCZyUWyltRhORMaRxe6UWgvA2jxIV8"} 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":"fb232540-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb40faddb-78b3-47dc-a707-ca17fb0fe16d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb40faddb-78b3-47dc-a707-ca17fb0fe16d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:06.112942703Z"}]},"request_id":"d45bd460-7c0c-4e95-b2e5-fed25846fc98","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444028.3192441} 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":"fb22d720-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a61f633-77e5-4e81-a4d6-22403a93246b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a61f633-77e5-4e81-a4d6-22403a93246b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:06.156135536Z"}]},"request_id":"5a23e9ed-9aa4-4971-a23d-7628982fe525","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444028.3244448} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fb232540-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"GET /devices/b40faddb-78b3-47dc-a707-ca17fb0fe16d? 200 19ms","method":"GET","requestID":"fb22d720-3d2a-11ef-b23c-0125361f42d1","responseTime":19,"status":200,"url":"/devices/b40faddb-78b3-47dc-a707-ca17fb0fe16d?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/0a61f633-77e5-4e81-a4d6-22403a93246b? 200 21ms","method":"GET","requestID":"fb232540-3d2a-11ef-b23c-0125361f42d1","responseTime":21,"status":200,"url":"/devices/0a61f633-77e5-4e81-a4d6-22403a93246b?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b1989459-4fba-42c6-80c4-0480ce887612"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b1989459-4fba-42c6-80c4-0480ce887612"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b1989459-4fba-42c6-80c4-0480ce887612"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b1989459-4fba-42c6-80c4-0480ce887612"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b1989459-4fba-42c6-80c4-0480ce887612"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b1989459-4fba-42c6-80c4-0480ce887612"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b1989459-4fba-42c6-80c4-0480ce887612"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b1989459-4fba-42c6-80c4-0480ce887612"},"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/b1989459-4fba-42c6-80c4-0480ce887612"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:08Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.373989,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:08Z"} authorization-1 | {"client_addr":"127.0.0.1:38528","level":"info","msg":"Received request.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b40faddb-78b3-47dc-a707-ca17fb0fe16d","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/b40faddb-78b3-47dc-a707-ca17fb0fe16d","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444028,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyOH0.O-bR8ZOvIE85zNCZyUWyltRhORMaRxe6UWgvA2jxIV8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fb2e48d0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:38528","level":"info","msg":"Sent response.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.001909,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a61f633-77e5-4e81-a4d6-22403a93246b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/0a61f633-77e5-4e81-a4d6-22403a93246b","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444028,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyOH0.O-bR8ZOvIE85zNCZyUWyltRhORMaRxe6UWgvA2jxIV8"} 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":"fb2e6fe0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Received request.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:08Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb40faddb-78b3-47dc-a707-ca17fb0fe16d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb40faddb-78b3-47dc-a707-ca17fb0fe16d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:06.112942703Z"}]},"request_id":"0085e45f-c847-4627-aacc-bace849f8434","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444028.3970935} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb40faddb-78b3-47dc-a707-ca17fb0fe16d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2f948c87-e2be-4190-90b7-942efbd41ee7","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444028.3975055} 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":"fb2e48d0-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a61f633-77e5-4e81-a4d6-22403a93246b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a61f633-77e5-4e81-a4d6-22403a93246b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:06.156135536Z"}]},"request_id":"fdb401cb-d0d5-48fb-8162-847f762c61f0","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444028.3985808} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Sent response.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.853201,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b40faddb-78b3-47dc-a707-ca17fb0fe16d","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b40faddb-78b3-47dc-a707-ca17fb0fe16d","object_type":"device","rebac_allow":false,"scope_allow":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":"fb2ebe00-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":14}} 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":"fb2e6fe0-3d2a-11ef-b23c-0125361f42d1"},"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/b40faddb-78b3-47dc-a707-ca17fb0fe16d? 200 24ms","method":"GET","requestID":"fb2e48d0-3d2a-11ef-b23c-0125361f42d1","responseTime":24,"status":200,"url":"/devices/b40faddb-78b3-47dc-a707-ca17fb0fe16d?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/b40faddb-78b3-47dc-a707-ca17fb0fe16d/signaling 200 23ms","method":"POST","requestID":"fb2ebe00-3d2a-11ef-b23c-0125361f42d1","responseTime":23,"status":200,"url":"/devices/b40faddb-78b3-47dc-a707-ca17fb0fe16d/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/0a61f633-77e5-4e81-a4d6-22403a93246b? 200 26ms","method":"GET","requestID":"fb2e6fe0-3d2a-11ef-b23c-0125361f42d1","responseTime":26,"status":200,"url":"/devices/0a61f633-77e5-4e81-a4d6-22403a93246b?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb1989459-4fba-42c6-80c4-0480ce887612#owner@http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb1989459-4fba-42c6-80c4-0480ce887612","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"a0e2d46e-72fd-48c7-878d-e0ac2130d49d","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444028.4099185} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"011972d1-c803-4e23-b068-1e2958e73b72","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444028.4103432} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 25ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bbc432422edc14fe02349024d35cd4b7"},"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:58600","level":"info","msg":"Received request.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:08Z"} authorization-1 | {"client_addr":"127.0.0.1:38528","level":"info","msg":"Received request.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:08Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a61f633-77e5-4e81-a4d6-22403a93246b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b8eeda79-4b1d-4402-94f5-6c7a5ee92526","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444028.4158847} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.846554,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a61f633-77e5-4e81-a4d6-22403a93246b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0a61f633-77e5-4e81-a4d6-22403a93246b","object_type":"device","rebac_allow":false,"scope_allow":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":"fb32b5a0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb40faddb-78b3-47dc-a707-ca17fb0fe16d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cf69ccb3-d005-4d8a-8dbe-923f05fba5d0","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444028.4177315} authorization-1 | {"client_addr":"127.0.0.1:38528","level":"info","msg":"Sent response.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.722418,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b40faddb-78b3-47dc-a707-ca17fb0fe16d","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b40faddb-78b3-47dc-a707-ca17fb0fe16d","object_type":"device","rebac_allow":false,"scope_allow":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":"fb3303c0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/b1989459-4fba-42c6-80c4-0480ce887612","user":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"08/Jul/2024:13:07:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.166","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bbc432422edc14fe02349024d35cd4b7"} experiment-1 | {"level":"info","message":"POST /experiments? 201 160ms","method":"POST","requestID":"bbc432422edc14fe02349024d35cd4b7","responseTime":160,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/0a61f633-77e5-4e81-a4d6-22403a93246b/signaling 200 11ms","method":"POST","requestID":"fb32b5a0-3d2a-11ef-b23c-0125361f42d1","responseTime":11,"status":200,"url":"/devices/0a61f633-77e5-4e81-a4d6-22403a93246b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/b40faddb-78b3-47dc-a707-ca17fb0fe16d/signaling 200 11ms","method":"POST","requestID":"fb3303c0-3d2a-11ef-b23c-0125361f42d1","responseTime":11,"status":200,"url":"/devices/b40faddb-78b3-47dc-a707-ca17fb0fe16d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyOH0.O-bR8ZOvIE85zNCZyUWyltRhORMaRxe6UWgvA2jxIV8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"61e8e96f4a0a9968e9bdc7af69287f77","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:08Z"} authorization-1 | {"client_addr":"127.0.0.1:38528","level":"info","msg":"Received request.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:08Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a61f633-77e5-4e81-a4d6-22403a93246b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f16e03fa-1615-400d-bf43-6181012e7355","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444028.4303336} authorization-1 | {"client_addr":"127.0.0.1:38528","level":"info","msg":"Sent response.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.966335,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b40faddb-78b3-47dc-a707-ca17fb0fe16d","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/b40faddb-78b3-47dc-a707-ca17fb0fe16d","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444028,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyOH0.O-bR8ZOvIE85zNCZyUWyltRhORMaRxe6UWgvA2jxIV8"} 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":"61e8e96f4a0a9968e9bdc7af69287f77"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.890663,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a61f633-77e5-4e81-a4d6-22403a93246b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0a61f633-77e5-4e81-a4d6-22403a93246b","object_type":"device","rebac_allow":false,"scope_allow":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":"fb34ff90-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb40faddb-78b3-47dc-a707-ca17fb0fe16d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb40faddb-78b3-47dc-a707-ca17fb0fe16d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:06.112942703Z"}]},"request_id":"4dbee5c0-8789-4081-ae71-0aa3b43d175c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444028.4366312} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/0a61f633-77e5-4e81-a4d6-22403a93246b/signaling 200 12ms","method":"POST","requestID":"fb34ff90-3d2a-11ef-b23c-0125361f42d1","responseTime":12,"status":200,"url":"/devices/0a61f633-77e5-4e81-a4d6-22403a93246b/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":"61e8e96f4a0a9968e9bdc7af69287f77"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b1989459-4fba-42c6-80c4-0480ce887612"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b1989459-4fba-42c6-80c4-0480ce887612"},"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":"2df50d72-c0ba-43bc-86a7-836f02883bd0"},{"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":"caf81190-b519-4e6c-b0c6-f69e53d87b76"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"be795275-68a9-4728-8ea2-6682da9e21a4"}]},"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/0a61f633-77e5-4e81-a4d6-22403a93246b"},{"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/b40faddb-78b3-47dc-a707-ca17fb0fe16d"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:07:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b40faddb-78b3-47dc-a707-ca17fb0fe16d? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"61e8e96f4a0a9968e9bdc7af69287f77"} device-1 | {"level":"info","message":"GET /devices/b40faddb-78b3-47dc-a707-ca17fb0fe16d? 200 14ms","method":"GET","requestID":"61e8e96f4a0a9968e9bdc7af69287f77","responseTime":14,"status":200,"url":"/devices/b40faddb-78b3-47dc-a707-ca17fb0fe16d?"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyOH0.O-bR8ZOvIE85zNCZyUWyltRhORMaRxe6UWgvA2jxIV8","level":"info","message":"auth send jwt"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:08Z"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fb057be71a02f85e1f4d2eb65f380cb9","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.056489,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:08Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444028,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyOH0.O-bR8ZOvIE85zNCZyUWyltRhORMaRxe6UWgvA2jxIV8"} 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":"fb3797a0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:08Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.382668,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a61f633-77e5-4e81-a4d6-22403a93246b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/0a61f633-77e5-4e81-a4d6-22403a93246b","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444028,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAyOH0.O-bR8ZOvIE85zNCZyUWyltRhORMaRxe6UWgvA2jxIV8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fb057be71a02f85e1f4d2eb65f380cb9"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a61f633-77e5-4e81-a4d6-22403a93246b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a61f633-77e5-4e81-a4d6-22403a93246b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:06.156135536Z"}]},"request_id":"a4f54108-9dda-4c92-9804-d3051b473b04","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444028.4547758} 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":"fb057be71a02f85e1f4d2eb65f380cb9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","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%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"937de25d-18a7-4aea-a058-6fef5d2e1617","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444028.4576886} gateway-1 | {"time_local":"08/Jul/2024:13:07:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0a61f633-77e5-4e81-a4d6-22403a93246b? 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":"fb057be71a02f85e1f4d2eb65f380cb9"} device-1 | {"level":"info","message":"GET /devices/0a61f633-77e5-4e81-a4d6-22403a93246b? 200 12ms","method":"GET","requestID":"fb057be71a02f85e1f4d2eb65f380cb9","responseTime":12,"status":200,"url":"/devices/0a61f633-77e5-4e81-a4d6-22403a93246b?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fd223010-8ac0-4bfd-a44b-c89e4b016bde","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444028.4580538} 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":"fb3797a0-3d2a-11ef-b23c-0125361f42d1"},"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/365cfaee-0aa5-47f5-9aab-33ef760f9022'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/365cfaee-0aa5-47f5-9aab-33ef760f9022'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 27ms","method":"POST","requestID":"fb3797a0-3d2a-11ef-b23c-0125361f42d1","responseTime":27,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b1989459-4fba-42c6-80c4-0480ce887612"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:08Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb40faddb-78b3-47dc-a707-ca17fb0fe16d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"26102c84-cfc1-47e2-b6d5-5fd9e6ae8332","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444028.5017264} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.503442,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b40faddb-78b3-47dc-a707-ca17fb0fe16d","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b40faddb-78b3-47dc-a707-ca17fb0fe16d","object_type":"device","rebac_allow":false,"scope_allow":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":"fb3ffc10-3d2a-11ef-b23c-0125361f42d1"},"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/b40faddb-78b3-47dc-a707-ca17fb0fe16d/signaling 200 9ms","method":"POST","requestID":"fb3ffc10-3d2a-11ef-b23c-0125361f42d1","responseTime":9,"status":200,"url":"/devices/b40faddb-78b3-47dc-a707-ca17fb0fe16d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:08Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a61f633-77e5-4e81-a4d6-22403a93246b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"170458a8-697f-4a69-89de-2aa322c967ad","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444028.5121171} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.087296,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a61f633-77e5-4e81-a4d6-22403a93246b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0a61f633-77e5-4e81-a4d6-22403a93246b","object_type":"device","rebac_allow":false,"scope_allow":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":"fb41a9c0-3d2a-11ef-b23c-0125361f42d1"},"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/0a61f633-77e5-4e81-a4d6-22403a93246b/signaling 200 7ms","method":"POST","requestID":"fb41a9c0-3d2a-11ef-b23c-0125361f42d1","responseTime":7,"status":200,"url":"/devices/0a61f633-77e5-4e81-a4d6-22403a93246b/signaling"} device-1 | {"data":{"peerconnection":"365cfaee-0aa5-47f5-9aab-33ef760f9022","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/365cfaee-0aa5-47f5-9aab-33ef760f9022' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"365cfaee-0aa5-47f5-9aab-33ef760f9022","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/0a61f633-77e5-4e81-a4d6-22403a93246b'"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"af045184e93cf4aeb97fc887f19fd91f","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/0a61f633-77e5-4e81-a4d6-22403a93246b"},{"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/b40faddb-78b3-47dc-a707-ca17fb0fe16d"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/365cfaee-0aa5-47f5-9aab-33ef760f9022"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"af045184e93cf4aeb97fc887f19fd91f","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07: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.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"af045184e93cf4aeb97fc887f19fd91f"} device-1 | {"data":{"peerconnection":"365cfaee-0aa5-47f5-9aab-33ef760f9022","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"365cfaee-0aa5-47f5-9aab-33ef760f9022","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/365cfaee-0aa5-47f5-9aab-33ef760f9022' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"365cfaee-0aa5-47f5-9aab-33ef760f9022","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":"30f373cff99651b08874b89e7ec9bd3c","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/0a61f633-77e5-4e81-a4d6-22403a93246b"},{"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/b40faddb-78b3-47dc-a707-ca17fb0fe16d"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/365cfaee-0aa5-47f5-9aab-33ef760f9022"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:10Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F365cfaee-0aa5-47f5-9aab-33ef760f9022","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d5c039d9-2485-4783-a415-be45c20e10f2","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444030.6663713} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.77139,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/365cfaee-0aa5-47f5-9aab-33ef760f9022","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/365cfaee-0aa5-47f5-9aab-33ef760f9022","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":"fc8a0840-3d2a-11ef-b23c-0125361f42d1"},"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/365cfaee-0aa5-47f5-9aab-33ef760f9022 200 11ms","method":"GET","requestID":"fc8a0840-3d2a-11ef-b23c-0125361f42d1","responseTime":11,"status":200,"url":"/peerconnections/365cfaee-0aa5-47f5-9aab-33ef760f9022"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 40ms","method":"POST","requestID":"30f373cff99651b08874b89e7ec9bd3c","responseTime":40,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07: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.045","http_referrer":"","http_user_agent":"node-fetch","requestID":"30f373cff99651b08874b89e7ec9bd3c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:10Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a61f633-77e5-4e81-a4d6-22403a93246b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"00ee8ccd-08a9-4425-bcf1-e127fdab4212","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444030.6987026} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.256942,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a61f633-77e5-4e81-a4d6-22403a93246b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0a61f633-77e5-4e81-a4d6-22403a93246b","object_type":"device","rebac_allow":false,"scope_allow":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":"fc8f1150-3d2a-11ef-b23c-0125361f42d1"},"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/0a61f633-77e5-4e81-a4d6-22403a93246b/signaling 200 10ms","method":"POST","requestID":"fc8f1150-3d2a-11ef-b23c-0125361f42d1","responseTime":10,"status":200,"url":"/devices/0a61f633-77e5-4e81-a4d6-22403a93246b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:10Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb40faddb-78b3-47dc-a707-ca17fb0fe16d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bf344dde-b2de-452d-ba99-b65761476ae5","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444030.7104502} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.533324,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b40faddb-78b3-47dc-a707-ca17fb0fe16d","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b40faddb-78b3-47dc-a707-ca17fb0fe16d","object_type":"device","rebac_allow":false,"scope_allow":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":"fc90e610-3d2a-11ef-b23c-0125361f42d1"},"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/b40faddb-78b3-47dc-a707-ca17fb0fe16d/signaling 200 10ms","method":"POST","requestID":"fc90e610-3d2a-11ef-b23c-0125361f42d1","responseTime":10,"status":200,"url":"/devices/b40faddb-78b3-47dc-a707-ca17fb0fe16d/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzMH0.P6LjasW70CtYon-kodiY-ALVGmvinmZv7rut4fOp0iE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"cf418819c6eee648f04f0231123e5f79","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/b1989459-4fba-42c6-80c4-0480ce887612"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:10Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.154062,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b1989459-4fba-42c6-80c4-0480ce887612","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/b1989459-4fba-42c6-80c4-0480ce887612","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444030,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzMH0.P6LjasW70CtYon-kodiY-ALVGmvinmZv7rut4fOp0iE"} 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":"cf418819c6eee648f04f0231123e5f79"},"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/b1989459-4fba-42c6-80c4-0480ce887612"} gateway-1 | {"time_local":"08/Jul/2024:13:07:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/b1989459-4fba-42c6-80c4-0480ce887612 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cf418819c6eee648f04f0231123e5f79"} experiment-1 | {"level":"info","message":"GET /experiments/b1989459-4fba-42c6-80c4-0480ce887612 200 17ms","method":"GET","requestID":"cf418819c6eee648f04f0231123e5f79","responseTime":17,"status":200,"url":"/experiments/b1989459-4fba-42c6-80c4-0480ce887612"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzMH0.P6LjasW70CtYon-kodiY-ALVGmvinmZv7rut4fOp0iE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"4e9de8a1bbf553b38de8572c824cc0d9","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/b1989459-4fba-42c6-80c4-0480ce887612"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:10Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.217189,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:10Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b1989459-4fba-42c6-80c4-0480ce887612","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/b1989459-4fba-42c6-80c4-0480ce887612","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444030,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzMH0.P6LjasW70CtYon-kodiY-ALVGmvinmZv7rut4fOp0iE"} 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":"4e9de8a1bbf553b38de8572c824cc0d9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b1989459-4fba-42c6-80c4-0480ce887612"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:10Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.150014,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:10Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/365cfaee-0aa5-47f5-9aab-33ef760f9022","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:http://localhost/peerconnections/365cfaee-0aa5-47f5-9aab-33ef760f9022","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444030,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzMH0.P6LjasW70CtYon-kodiY-ALVGmvinmZv7rut4fOp0iE"} 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":"fc9ea1b0-3d2a-11ef-b23c-0125361f42d1"},"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/365cfaee-0aa5-47f5-9aab-33ef760f9022' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/365cfaee-0aa5-47f5-9aab-33ef760f9022' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"365cfaee-0aa5-47f5-9aab-33ef760f9022","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 3ms","method":"GET","requestID":"33d30edcbfef8ad1938cfa0fd427ab31","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)"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F365cfaee-0aa5-47f5-9aab-33ef760f9022': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F365cfaee-0aa5-47f5-9aab-33ef760f9022","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"71fb79bb-a102-4aff-baf5-fcf2c3205911","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444030.8223886} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"58f710901d244a1880aa074542894d01","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/0a61f633-77e5-4e81-a4d6-22403a93246b"},{"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/b40faddb-78b3-47dc-a707-ca17fb0fe16d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/365cfaee-0aa5-47f5-9aab-33ef760f9022"}}},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3f539ece-58d7-4a91-9193-f90c7b880df2","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444030.823144} 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/0a61f633-77e5-4e81-a4d6-22403a93246b"},{"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/b40faddb-78b3-47dc-a707-ca17fb0fe16d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/365cfaee-0aa5-47f5-9aab-33ef760f9022"}}},"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":"fc9ea1b0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} device-1 | {"data":{"peerconnection":"365cfaee-0aa5-47f5-9aab-33ef760f9022","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/365cfaee-0aa5-47f5-9aab-33ef760f9022 204 47ms","method":"DELETE","requestID":"fc9ea1b0-3d2a-11ef-b23c-0125361f42d1","responseTime":47,"status":204,"url":"/peerconnections/365cfaee-0aa5-47f5-9aab-33ef760f9022"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b1989459-4fba-42c6-80c4-0480ce887612"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:10Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0a61f633-77e5-4e81-a4d6-22403a93246b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"929ae662-b968-4d0c-a455-8e2ab0777bde","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444030.8751233} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.70366,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0a61f633-77e5-4e81-a4d6-22403a93246b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0a61f633-77e5-4e81-a4d6-22403a93246b","object_type":"device","rebac_allow":false,"scope_allow":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":"fca9c540-3d2a-11ef-b23c-0125361f42d1"},"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/0a61f633-77e5-4e81-a4d6-22403a93246b/signaling 200 13ms","method":"POST","requestID":"fca9c540-3d2a-11ef-b23c-0125361f42d1","responseTime":13,"status":200,"url":"/devices/0a61f633-77e5-4e81-a4d6-22403a93246b/signaling"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb1989459-4fba-42c6-80c4-0480ce887612': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb1989459-4fba-42c6-80c4-0480ce887612","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"b61de758-a09a-4ef7-a9ac-8974a6e2230e","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444030.8835151} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"884a480e-8b11-4d05-85ef-7879de7908e7","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444030.8839712} 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":"4e9de8a1bbf553b38de8572c824cc0d9"},"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:58600","level":"info","msg":"Received request.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:10Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb40faddb-78b3-47dc-a707-ca17fb0fe16d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a7ba4e77-38db-4430-9a97-4170b7cb0986","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444030.8910434} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.034804,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b40faddb-78b3-47dc-a707-ca17fb0fe16d","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b40faddb-78b3-47dc-a707-ca17fb0fe16d","object_type":"device","rebac_allow":false,"scope_allow":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":"fcac5d50-3d2a-11ef-b23c-0125361f42d1"},"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/b40faddb-78b3-47dc-a707-ca17fb0fe16d/signaling 200 16ms","method":"POST","requestID":"fcac5d50-3d2a-11ef-b23c-0125361f42d1","responseTime":16,"status":200,"url":"/devices/b40faddb-78b3-47dc-a707-ca17fb0fe16d/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/b1989459-4fba-42c6-80c4-0480ce887612"} gateway-1 | {"time_local":"08/Jul/2024:13:07:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/b1989459-4fba-42c6-80c4-0480ce887612 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":"4e9de8a1bbf553b38de8572c824cc0d9"} gateway-1 | {"time_local":"08/Jul/2024:13:07:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2839","request_time":"4.247","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"e71b7dacecb44c87f11d8f9d76eaf2af"} experiment-1 | {"level":"info","message":"DELETE /experiments/b1989459-4fba-42c6-80c4-0480ce887612 204 168ms","method":"DELETE","requestID":"4e9de8a1bbf553b38de8572c824cc0d9","responseTime":168,"status":204,"url":"/experiments/b1989459-4fba-42c6-80c4-0480ce887612"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 128ms","method":"POST","requestID":"33d30edcbfef8ad1938cfa0fd427ab31","responseTime":128,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07: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.133","http_referrer":"","http_user_agent":"node-fetch","requestID":"33d30edcbfef8ad1938cfa0fd427ab31"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 126ms","method":"POST","requestID":"58f710901d244a1880aa074542894d01","responseTime":126,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07: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.135","http_referrer":"","http_user_agent":"node-fetch","requestID":"58f710901d244a1880aa074542894d01"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzMH0.P6LjasW70CtYon-kodiY-ALVGmvinmZv7rut4fOp0iE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"da5f5fd8c866f9c844e0efde5341d9b4","responseTime":3,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:07:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2745","request_time":"2.779","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"99c22ccb3090aa44c9f38ba3f6e29488"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:10Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.948457,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:10Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444030,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzMH0.P6LjasW70CtYon-kodiY-ALVGmvinmZv7rut4fOp0iE"} 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":"da5f5fd8c866f9c844e0efde5341d9b4"},"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/b40faddb-78b3-47dc-a707-ca17fb0fe16d' 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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91ed7f75-6afa-4080-8959-bb032938653f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0bf22b73-36cd-4e2e-9c64-313c297eb0ef","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444030.9828806} 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":"da5f5fd8c866f9c844e0efde5341d9b4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/0a61f633-77e5-4e81-a4d6-22403a93246b' 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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aa115ad1-295b-48bd-aea6-bcdc4fcd258e","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444030.988205} 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":"da5f5fd8c866f9c844e0efde5341d9b4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91ed7f75-6afa-4080-8959-bb032938653f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"28f3b7ef-471e-4e24-92c3-0235d5ad3692","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444030.9990444} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"12a5299e-e748-435f-a39c-423f94efd8e6","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444030.9993408} 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":"da5f5fd8c866f9c844e0efde5341d9b4"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91ed7f75-6afa-4080-8959-bb032938653f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91ed7f75-6afa-4080-8959-bb032938653f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:10.999023316Z"}]},"request_id":"c5818521-eec9-47cd-b316-6c2c59fed421","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444031.003394} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"da5f5fd8c866f9c844e0efde5341d9b4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:07:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"da5f5fd8c866f9c844e0efde5341d9b4"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"da5f5fd8c866f9c844e0efde5341d9b4","responseTime":48,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzMX0.6DPvks1MgLfnP4-0SMG8JfTIow_WeipHNIhfkxTKw1Y","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e873a5017fa36a1015158e9314d2f6c2","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:11Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.836365,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:11Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444031,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzMX0.6DPvks1MgLfnP4-0SMG8JfTIow_WeipHNIhfkxTKw1Y"} 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":"e873a5017fa36a1015158e9314d2f6c2"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F640c13d8-d96c-42e3-b07c-3c373ddbda60","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ce1f5934-928d-4c7d-a5e0-353770b51552","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444031.0333745} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e873a5017fa36a1015158e9314d2f6c2"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"04df0855-c824-46d9-b57e-3585e3233928","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444031.0381658} 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":"e873a5017fa36a1015158e9314d2f6c2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F640c13d8-d96c-42e3-b07c-3c373ddbda60","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"e91367df-3778-4dec-8227-341ca6ce5f00","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444031.0490444} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bd3bab17-2872-4abc-99b7-bd5e94dc260c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444031.0491326} 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":"e873a5017fa36a1015158e9314d2f6c2"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F640c13d8-d96c-42e3-b07c-3c373ddbda60","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F640c13d8-d96c-42e3-b07c-3c373ddbda60","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:11.049024793Z"}]},"request_id":"fe296c26-a1a0-48a2-80b6-b2a7209df572","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444031.0536447} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e873a5017fa36a1015158e9314d2f6c2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:07:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e873a5017fa36a1015158e9314d2f6c2"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"e873a5017fa36a1015158e9314d2f6c2","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzMX0.6DPvks1MgLfnP4-0SMG8JfTIow_WeipHNIhfkxTKw1Y","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"e2f1e850cc177b816bb4267b11eab13a","responseTime":8,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzMX0.6DPvks1MgLfnP4-0SMG8JfTIow_WeipHNIhfkxTKw1Y","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"821ba16109fe5b0901c8ef4d4d8e3ebf","responseTime":7,"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:58600","level":"info","msg":"Received request.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:11Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.604745,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:11Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/91ed7f75-6afa-4080-8959-bb032938653f","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/91ed7f75-6afa-4080-8959-bb032938653f","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444031,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzMX0.6DPvks1MgLfnP4-0SMG8JfTIow_WeipHNIhfkxTKw1Y"} 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":"e2f1e850cc177b816bb4267b11eab13a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:38528","level":"info","msg":"Received request.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:11Z"} authorization-1 | {"client_addr":"127.0.0.1:38528","level":"info","msg":"Sent response.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.615864,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:11Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/640c13d8-d96c-42e3-b07c-3c373ddbda60","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/640c13d8-d96c-42e3-b07c-3c373ddbda60","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444031,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzMX0.6DPvks1MgLfnP4-0SMG8JfTIow_WeipHNIhfkxTKw1Y"} 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":"821ba16109fe5b0901c8ef4d4d8e3ebf"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91ed7f75-6afa-4080-8959-bb032938653f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91ed7f75-6afa-4080-8959-bb032938653f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:10.999023316Z"}]},"request_id":"683c6f64-8bef-4986-ab0a-b7a2ff743892","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444031.5401893} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e2f1e850cc177b816bb4267b11eab13a"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F640c13d8-d96c-42e3-b07c-3c373ddbda60","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F640c13d8-d96c-42e3-b07c-3c373ddbda60","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:11.049024793Z"}]},"request_id":"38eb7c30-bae5-4f13-b248-6c89f06f4c4b","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444031.5409372} 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":"821ba16109fe5b0901c8ef4d4d8e3ebf"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3c23eaf6-0cb7-469c-9e5d-2d7a6d145fb6","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444031.5445158} 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":"e2f1e850cc177b816bb4267b11eab13a"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5f3989cd-af58-4b81-be5a-cce17d65695e","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444031.5463164} 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":"821ba16109fe5b0901c8ef4d4d8e3ebf"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F640c13d8-d96c-42e3-b07c-3c373ddbda60","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F640c13d8-d96c-42e3-b07c-3c373ddbda60","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:11.049024793Z"}]},"request_id":"1ac7b56e-e79e-4ae0-bb03-43145f0585ff","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444031.549672} 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":"821ba16109fe5b0901c8ef4d4d8e3ebf"},"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/640c13d8-d96c-42e3-b07c-3c373ddbda60 200 22ms","method":"PATCH","requestID":"821ba16109fe5b0901c8ef4d4d8e3ebf","responseTime":22,"status":200,"url":"/devices/640c13d8-d96c-42e3-b07c-3c373ddbda60"} gateway-1 | {"time_local":"08/Jul/2024:13:07:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/640c13d8-d96c-42e3-b07c-3c373ddbda60 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.033","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"821ba16109fe5b0901c8ef4d4d8e3ebf"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzMX0.6DPvks1MgLfnP4-0SMG8JfTIow_WeipHNIhfkxTKw1Y","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"09f9877226e5c461a59a312ef6e53915","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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91ed7f75-6afa-4080-8959-bb032938653f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91ed7f75-6afa-4080-8959-bb032938653f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:10.999023316Z"}]},"request_id":"67853165-6f57-4362-9e6d-f009ec4cde9c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444031.5611017} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e2f1e850cc177b816bb4267b11eab13a"},"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:58600","level":"info","msg":"Received request.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:11Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.674485,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:11Z"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/640c13d8-d96c-42e3-b07c-3c373ddbda60","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/640c13d8-d96c-42e3-b07c-3c373ddbda60","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444031,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzMX0.6DPvks1MgLfnP4-0SMG8JfTIow_WeipHNIhfkxTKw1Y"} gateway-1 | {"time_local":"08/Jul/2024:13:07:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/91ed7f75-6afa-4080-8959-bb032938653f HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.045","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"e2f1e850cc177b816bb4267b11eab13a"} 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":"09f9877226e5c461a59a312ef6e53915"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"PATCH /devices/91ed7f75-6afa-4080-8959-bb032938653f 200 35ms","method":"PATCH","requestID":"e2f1e850cc177b816bb4267b11eab13a","responseTime":35,"status":200,"url":"/devices/91ed7f75-6afa-4080-8959-bb032938653f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzMX0.6DPvks1MgLfnP4-0SMG8JfTIow_WeipHNIhfkxTKw1Y","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b4ed90a48cebb9113aade098a0eb10a1","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:11Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.687786,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:11Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/91ed7f75-6afa-4080-8959-bb032938653f","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/91ed7f75-6afa-4080-8959-bb032938653f","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444031,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzMX0.6DPvks1MgLfnP4-0SMG8JfTIow_WeipHNIhfkxTKw1Y"} 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":"b4ed90a48cebb9113aade098a0eb10a1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:07:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/640c13d8-d96c-42e3-b07c-3c373ddbda60/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.022","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"09f9877226e5c461a59a312ef6e53915"} device-1 | {"level":"info","message":"POST /devices/640c13d8-d96c-42e3-b07c-3c373ddbda60/websocket 200 16ms","method":"POST","requestID":"09f9877226e5c461a59a312ef6e53915","responseTime":16,"status":200,"url":"/devices/640c13d8-d96c-42e3-b07c-3c373ddbda60/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:07:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/91ed7f75-6afa-4080-8959-bb032938653f/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.020","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"b4ed90a48cebb9113aade098a0eb10a1"} device-1 | {"level":"info","message":"POST /devices/91ed7f75-6afa-4080-8959-bb032938653f/websocket 200 15ms","method":"POST","requestID":"b4ed90a48cebb9113aade098a0eb10a1","responseTime":15,"status":200,"url":"/devices/91ed7f75-6afa-4080-8959-bb032938653f/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/640c13d8-d96c-42e3-b07c-3c373ddbda60' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/91ed7f75-6afa-4080-8959-bb032938653f' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzMX0.6DPvks1MgLfnP4-0SMG8JfTIow_WeipHNIhfkxTKw1Y","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"4d5fc54dc2031b1064932dde330be60b","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:11Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.964604,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/91ed7f75-6afa-4080-8959-bb032938653f","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/91ed7f75-6afa-4080-8959-bb032938653f","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444031,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzMX0.6DPvks1MgLfnP4-0SMG8JfTIow_WeipHNIhfkxTKw1Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4d5fc54dc2031b1064932dde330be60b"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91ed7f75-6afa-4080-8959-bb032938653f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91ed7f75-6afa-4080-8959-bb032938653f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:10.999023316Z"}]},"request_id":"272a6d24-b123-4ae5-a278-ac744f6f9964","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444031.6235454} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4d5fc54dc2031b1064932dde330be60b"},"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":"08/Jul/2024:13:07:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/91ed7f75-6afa-4080-8959-bb032938653f? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4d5fc54dc2031b1064932dde330be60b"} device-1 | {"level":"info","message":"GET /devices/91ed7f75-6afa-4080-8959-bb032938653f? 200 16ms","method":"GET","requestID":"4d5fc54dc2031b1064932dde330be60b","responseTime":16,"status":200,"url":"/devices/91ed7f75-6afa-4080-8959-bb032938653f?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzMX0.6DPvks1MgLfnP4-0SMG8JfTIow_WeipHNIhfkxTKw1Y","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e7ffc1d011d11ae3982b54dfd1d42550","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:11Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.121763,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/640c13d8-d96c-42e3-b07c-3c373ddbda60","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/640c13d8-d96c-42e3-b07c-3c373ddbda60","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444031,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzMX0.6DPvks1MgLfnP4-0SMG8JfTIow_WeipHNIhfkxTKw1Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e7ffc1d011d11ae3982b54dfd1d42550"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F640c13d8-d96c-42e3-b07c-3c373ddbda60","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F640c13d8-d96c-42e3-b07c-3c373ddbda60","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:11.049024793Z"}]},"request_id":"c634e652-bb34-44f3-8949-353db426da11","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444031.6476839} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e7ffc1d011d11ae3982b54dfd1d42550"},"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":"08/Jul/2024:13:07:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/640c13d8-d96c-42e3-b07c-3c373ddbda60? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e7ffc1d011d11ae3982b54dfd1d42550"} device-1 | {"level":"info","message":"GET /devices/640c13d8-d96c-42e3-b07c-3c373ddbda60? 200 17ms","method":"GET","requestID":"e7ffc1d011d11ae3982b54dfd1d42550","responseTime":17,"status":200,"url":"/devices/640c13d8-d96c-42e3-b07c-3c373ddbda60?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzMX0.6DPvks1MgLfnP4-0SMG8JfTIow_WeipHNIhfkxTKw1Y","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"6002c486beb092ddc5bca39b75317b0c","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:58600","level":"info","msg":"Received request.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:11Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.165102,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:11Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444031,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzMX0.6DPvks1MgLfnP4-0SMG8JfTIow_WeipHNIhfkxTKw1Y"} 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":"6002c486beb092ddc5bca39b75317b0c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba972ffd-96f7-4d6c-aa7a-d52c26ec3cca"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba972ffd-96f7-4d6c-aa7a-d52c26ec3cca"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba972ffd-96f7-4d6c-aa7a-d52c26ec3cca"},"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:58600","level":"info","msg":"Received request.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:11Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.591275,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/91ed7f75-6afa-4080-8959-bb032938653f","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/91ed7f75-6afa-4080-8959-bb032938653f","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444031,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzMX0.6DPvks1MgLfnP4-0SMG8JfTIow_WeipHNIhfkxTKw1Y"} 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":"fd297c90-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"client_addr":"127.0.0.1:38528","level":"info","msg":"Received request.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:11Z"} authorization-1 | {"client_addr":"127.0.0.1:38528","level":"info","msg":"Sent response.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.576751,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/640c13d8-d96c-42e3-b07c-3c373ddbda60","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/640c13d8-d96c-42e3-b07c-3c373ddbda60","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444031,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzMX0.6DPvks1MgLfnP4-0SMG8JfTIow_WeipHNIhfkxTKw1Y"} 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":"fd29a3a0-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91ed7f75-6afa-4080-8959-bb032938653f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91ed7f75-6afa-4080-8959-bb032938653f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:10.999023316Z"}]},"request_id":"0139d82a-72a1-439e-bf8d-581eaff99aa8","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444031.7124448} 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":"fd297c90-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F640c13d8-d96c-42e3-b07c-3c373ddbda60","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F640c13d8-d96c-42e3-b07c-3c373ddbda60","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:11.049024793Z"}]},"request_id":"a42810fc-4c67-403b-9dc3-0e7b2f2ecdc3","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444031.713163} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fd29a3a0-3d2a-11ef-b23c-0125361f42d1"},"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/91ed7f75-6afa-4080-8959-bb032938653f? 200 16ms","method":"GET","requestID":"fd297c90-3d2a-11ef-b23c-0125361f42d1","responseTime":16,"status":200,"url":"/devices/91ed7f75-6afa-4080-8959-bb032938653f?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/640c13d8-d96c-42e3-b07c-3c373ddbda60? 200 15ms","method":"GET","requestID":"fd29a3a0-3d2a-11ef-b23c-0125361f42d1","responseTime":15,"status":200,"url":"/devices/640c13d8-d96c-42e3-b07c-3c373ddbda60?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba972ffd-96f7-4d6c-aa7a-d52c26ec3cca"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba972ffd-96f7-4d6c-aa7a-d52c26ec3cca"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba972ffd-96f7-4d6c-aa7a-d52c26ec3cca"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba972ffd-96f7-4d6c-aa7a-d52c26ec3cca"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba972ffd-96f7-4d6c-aa7a-d52c26ec3cca"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba972ffd-96f7-4d6c-aa7a-d52c26ec3cca"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba972ffd-96f7-4d6c-aa7a-d52c26ec3cca"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba972ffd-96f7-4d6c-aa7a-d52c26ec3cca"},"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:58600","level":"info","msg":"Received request.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:11Z"} authorization-1 | {"client_addr":"127.0.0.1:38528","level":"info","msg":"Received request.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:11Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.671284,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/91ed7f75-6afa-4080-8959-bb032938653f","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/91ed7f75-6afa-4080-8959-bb032938653f","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444031,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzMX0.6DPvks1MgLfnP4-0SMG8JfTIow_WeipHNIhfkxTKw1Y"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba972ffd-96f7-4d6c-aa7a-d52c26ec3cca"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fd34c730-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:38528","level":"info","msg":"Sent response.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.786576,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/640c13d8-d96c-42e3-b07c-3c373ddbda60","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/640c13d8-d96c-42e3-b07c-3c373ddbda60","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444031,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzMX0.6DPvks1MgLfnP4-0SMG8JfTIow_WeipHNIhfkxTKw1Y"} 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":"fd351550-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:11Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.325237,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:11Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91ed7f75-6afa-4080-8959-bb032938653f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ef75c44e-ae7c-4f53-b2de-9f31fb05ffd0","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444031.7927117} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/91ed7f75-6afa-4080-8959-bb032938653f","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/91ed7f75-6afa-4080-8959-bb032938653f","object_type":"device","rebac_allow":false,"scope_allow":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":"fd356370-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91ed7f75-6afa-4080-8959-bb032938653f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91ed7f75-6afa-4080-8959-bb032938653f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:10.999023316Z"}]},"request_id":"7d1dd83c-c39f-4813-af47-a2a4d1fcf9c7","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444031.7953987} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F640c13d8-d96c-42e3-b07c-3c373ddbda60","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F640c13d8-d96c-42e3-b07c-3c373ddbda60","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:11.049024793Z"}]},"request_id":"42a425d8-f8be-4a67-af71-21e1ac2dc5d4","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444031.7972636} 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":"fd34c730-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fd351550-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/91ed7f75-6afa-4080-8959-bb032938653f/signaling 200 18ms","method":"POST","requestID":"fd356370-3d2a-11ef-b23c-0125361f42d1","responseTime":18,"status":200,"url":"/devices/91ed7f75-6afa-4080-8959-bb032938653f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/91ed7f75-6afa-4080-8959-bb032938653f? 200 29ms","method":"GET","requestID":"fd34c730-3d2a-11ef-b23c-0125361f42d1","responseTime":29,"status":200,"url":"/devices/91ed7f75-6afa-4080-8959-bb032938653f?"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:11Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/640c13d8-d96c-42e3-b07c-3c373ddbda60? 200 28ms","method":"GET","requestID":"fd351550-3d2a-11ef-b23c-0125361f42d1","responseTime":28,"status":200,"url":"/devices/640c13d8-d96c-42e3-b07c-3c373ddbda60?"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F640c13d8-d96c-42e3-b07c-3c373ddbda60","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"da5a0113-780c-4bb3-87d7-f7c3e596307d","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444031.8114192} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.101973,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:11Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/640c13d8-d96c-42e3-b07c-3c373ddbda60","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/640c13d8-d96c-42e3-b07c-3c373ddbda60","object_type":"device","rebac_allow":false,"scope_allow":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":"fd3897c0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fba972ffd-96f7-4d6c-aa7a-d52c26ec3cca#owner@http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fba972ffd-96f7-4d6c-aa7a-d52c26ec3cca","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"db813601-457e-4edb-908e-34c8af724a83","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444031.8134232} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4476ff8a-6c60-40b6-a54a-d438674e47cc","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444031.8139493} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/640c13d8-d96c-42e3-b07c-3c373ddbda60/signaling 200 13ms","method":"POST","requestID":"fd3897c0-3d2a-11ef-b23c-0125361f42d1","responseTime":13,"status":200,"url":"/devices/640c13d8-d96c-42e3-b07c-3c373ddbda60/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6002c486beb092ddc5bca39b75317b0c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":27}} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:11Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91ed7f75-6afa-4080-8959-bb032938653f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aecd17f8-8457-4096-8484-fed5eec7d45a","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444031.8201005} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.674342,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/91ed7f75-6afa-4080-8959-bb032938653f","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/91ed7f75-6afa-4080-8959-bb032938653f","object_type":"device","rebac_allow":false,"scope_allow":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":"fd39d040-3d2a-11ef-b23c-0125361f42d1"},"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/91ed7f75-6afa-4080-8959-bb032938653f/signaling 200 14ms","method":"POST","requestID":"fd39d040-3d2a-11ef-b23c-0125361f42d1","responseTime":14,"status":200,"url":"/devices/91ed7f75-6afa-4080-8959-bb032938653f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/ba972ffd-96f7-4d6c-aa7a-d52c26ec3cca","user":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"08/Jul/2024:13:07:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.175","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6002c486beb092ddc5bca39b75317b0c"} experiment-1 | {"level":"info","message":"POST /experiments? 201 169ms","method":"POST","requestID":"6002c486beb092ddc5bca39b75317b0c","responseTime":169,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:11Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F640c13d8-d96c-42e3-b07c-3c373ddbda60","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cd1e676f-bf5a-41d5-9821-ee49117f5ed8","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444031.8350232} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.508392,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:11Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzMX0.6DPvks1MgLfnP4-0SMG8JfTIow_WeipHNIhfkxTKw1Y","level":"info","message":"auth send jwt"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/640c13d8-d96c-42e3-b07c-3c373ddbda60","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/640c13d8-d96c-42e3-b07c-3c373ddbda60","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9acd5bcd6516eea2de72a34dfffc3c94","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fd3c6850-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/640c13d8-d96c-42e3-b07c-3c373ddbda60/signaling 200 12ms","method":"POST","requestID":"fd3c6850-3d2a-11ef-b23c-0125361f42d1","responseTime":12,"status":200,"url":"/devices/640c13d8-d96c-42e3-b07c-3c373ddbda60/signaling"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:11Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.040561,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:11Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba972ffd-96f7-4d6c-aa7a-d52c26ec3cca"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba972ffd-96f7-4d6c-aa7a-d52c26ec3cca"},"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":"f4ae8041-d020-40da-9307-bf6da544a799"},{"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":"e37b409a-370a-4eda-9ee3-1e994c04b93c"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"cfeff58a-90be-491f-a551-8c999c2f19cd"}]},"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/91ed7f75-6afa-4080-8959-bb032938653f"},{"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/640c13d8-d96c-42e3-b07c-3c373ddbda60"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/91ed7f75-6afa-4080-8959-bb032938653f","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/91ed7f75-6afa-4080-8959-bb032938653f","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444031,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzMX0.6DPvks1MgLfnP4-0SMG8JfTIow_WeipHNIhfkxTKw1Y"} 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":"9acd5bcd6516eea2de72a34dfffc3c94"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} 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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91ed7f75-6afa-4080-8959-bb032938653f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91ed7f75-6afa-4080-8959-bb032938653f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:10.999023316Z"}]},"request_id":"4b975a40-4a32-4111-ba16-11f2d4172cd6","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444031.8478413} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9acd5bcd6516eea2de72a34dfffc3c94"},"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:58600","level":"info","msg":"Received request.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:11Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.862464,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:11Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444031,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzMX0.6DPvks1MgLfnP4-0SMG8JfTIow_WeipHNIhfkxTKw1Y"} 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":"fd3f0060-3d2a-11ef-b23c-0125361f42d1"},"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":"08/Jul/2024:13:07:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/91ed7f75-6afa-4080-8959-bb032938653f? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9acd5bcd6516eea2de72a34dfffc3c94"} device-1 | {"level":"info","message":"GET /devices/91ed7f75-6afa-4080-8959-bb032938653f? 200 16ms","method":"GET","requestID":"9acd5bcd6516eea2de72a34dfffc3c94","responseTime":16,"status":200,"url":"/devices/91ed7f75-6afa-4080-8959-bb032938653f?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzMX0.6DPvks1MgLfnP4-0SMG8JfTIow_WeipHNIhfkxTKw1Y","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5de9bd69fd2a8b33e40e54f6c257b442","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","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%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"5838a60c-1ad6-41d6-a903-1fe80edb49bb","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444031.861335} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5226477d-86d1-4954-9123-68581e71be20","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444031.861693} 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":"fd3f0060-3d2a-11ef-b23c-0125361f42d1"},"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:58600","level":"info","msg":"Received request.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:11Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.634252,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/640c13d8-d96c-42e3-b07c-3c373ddbda60","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/640c13d8-d96c-42e3-b07c-3c373ddbda60","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444031,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzMX0.6DPvks1MgLfnP4-0SMG8JfTIow_WeipHNIhfkxTKw1Y"} 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":"5de9bd69fd2a8b33e40e54f6c257b442"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F640c13d8-d96c-42e3-b07c-3c373ddbda60","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F640c13d8-d96c-42e3-b07c-3c373ddbda60","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:11.049024793Z"}]},"request_id":"ed16f456-5c82-42d8-b7e7-141b0cc80361","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444031.8689044} 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":"5de9bd69fd2a8b33e40e54f6c257b442"},"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/db72f3d4-56e2-4336-9237-0bbb2980757f'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/db72f3d4-56e2-4336-9237-0bbb2980757f'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 33ms","method":"POST","requestID":"fd3f0060-3d2a-11ef-b23c-0125361f42d1","responseTime":33,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:07:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/640c13d8-d96c-42e3-b07c-3c373ddbda60? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5de9bd69fd2a8b33e40e54f6c257b442"} device-1 | {"level":"info","message":"GET /devices/640c13d8-d96c-42e3-b07c-3c373ddbda60? 200 20ms","method":"GET","requestID":"5de9bd69fd2a8b33e40e54f6c257b442","responseTime":20,"status":200,"url":"/devices/640c13d8-d96c-42e3-b07c-3c373ddbda60?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba972ffd-96f7-4d6c-aa7a-d52c26ec3cca"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:11Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91ed7f75-6afa-4080-8959-bb032938653f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3e18495b-734a-4d43-8876-5996c56a254f","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444031.9113173} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.599876,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/91ed7f75-6afa-4080-8959-bb032938653f","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/91ed7f75-6afa-4080-8959-bb032938653f","object_type":"device","rebac_allow":false,"scope_allow":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":"fd482820-3d2a-11ef-b23c-0125361f42d1"},"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/91ed7f75-6afa-4080-8959-bb032938653f/signaling 200 9ms","method":"POST","requestID":"fd482820-3d2a-11ef-b23c-0125361f42d1","responseTime":9,"status":200,"url":"/devices/91ed7f75-6afa-4080-8959-bb032938653f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:11Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F640c13d8-d96c-42e3-b07c-3c373ddbda60","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5ce06eb3-4101-404d-a2a5-99a5ac0cec5e","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444031.9226263} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.766954,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/640c13d8-d96c-42e3-b07c-3c373ddbda60","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/640c13d8-d96c-42e3-b07c-3c373ddbda60","object_type":"device","rebac_allow":false,"scope_allow":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":"fd49d5d0-3d2a-11ef-b23c-0125361f42d1"},"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/640c13d8-d96c-42e3-b07c-3c373ddbda60/signaling 200 9ms","method":"POST","requestID":"fd49d5d0-3d2a-11ef-b23c-0125361f42d1","responseTime":9,"status":200,"url":"/devices/640c13d8-d96c-42e3-b07c-3c373ddbda60/signaling"} device-1 | {"data":{"peerconnection":"db72f3d4-56e2-4336-9237-0bbb2980757f","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"db72f3d4-56e2-4336-9237-0bbb2980757f","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/db72f3d4-56e2-4336-9237-0bbb2980757f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"db72f3d4-56e2-4336-9237-0bbb2980757f","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":"1cf1c4fd809248acc4cc82d780c0d88e","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/91ed7f75-6afa-4080-8959-bb032938653f"},{"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/640c13d8-d96c-42e3-b07c-3c373ddbda60"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/db72f3d4-56e2-4336-9237-0bbb2980757f"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 10ms","method":"POST","requestID":"1cf1c4fd809248acc4cc82d780c0d88e","responseTime":10,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07: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.014","http_referrer":"","http_user_agent":"node-fetch","requestID":"1cf1c4fd809248acc4cc82d780c0d88e"} device-1 | {"data":{"peerconnection":"db72f3d4-56e2-4336-9237-0bbb2980757f","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"db72f3d4-56e2-4336-9237-0bbb2980757f","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/db72f3d4-56e2-4336-9237-0bbb2980757f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"db72f3d4-56e2-4336-9237-0bbb2980757f","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":"9ba08a3db422862de4865810fbec03cc","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/91ed7f75-6afa-4080-8959-bb032938653f"},{"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/640c13d8-d96c-42e3-b07c-3c373ddbda60"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/db72f3d4-56e2-4336-9237-0bbb2980757f"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:14Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fdb72f3d4-56e2-4336-9237-0bbb2980757f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f69187e3-2091-4ea8-800d-79be3848e01c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444034.0059211} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.62264,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/db72f3d4-56e2-4336-9237-0bbb2980757f","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/db72f3d4-56e2-4336-9237-0bbb2980757f","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":"fe875ee0-3d2a-11ef-b23c-0125361f42d1"},"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/db72f3d4-56e2-4336-9237-0bbb2980757f 200 13ms","method":"GET","requestID":"fe875ee0-3d2a-11ef-b23c-0125361f42d1","responseTime":13,"status":200,"url":"/peerconnections/db72f3d4-56e2-4336-9237-0bbb2980757f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 50ms","method":"POST","requestID":"9ba08a3db422862de4865810fbec03cc","responseTime":50,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07: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.053","http_referrer":"","http_user_agent":"node-fetch","requestID":"9ba08a3db422862de4865810fbec03cc"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:14Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91ed7f75-6afa-4080-8959-bb032938653f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6fb0aba6-3102-4384-b90a-817104dcbc3f","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444034.0460782} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.766639,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/91ed7f75-6afa-4080-8959-bb032938653f","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/91ed7f75-6afa-4080-8959-bb032938653f","object_type":"device","rebac_allow":false,"scope_allow":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":"fe8dc780-3d2a-11ef-b23c-0125361f42d1"},"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/91ed7f75-6afa-4080-8959-bb032938653f/signaling 200 12ms","method":"POST","requestID":"fe8dc780-3d2a-11ef-b23c-0125361f42d1","responseTime":12,"status":200,"url":"/devices/91ed7f75-6afa-4080-8959-bb032938653f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:14Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F640c13d8-d96c-42e3-b07c-3c373ddbda60","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e8d6c9ff-3588-4c79-b936-2de800c3fc7e","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444034.0615573} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.588956,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/640c13d8-d96c-42e3-b07c-3c373ddbda60","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/640c13d8-d96c-42e3-b07c-3c373ddbda60","object_type":"device","rebac_allow":false,"scope_allow":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":"fe901170-3d2a-11ef-b23c-0125361f42d1"},"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/640c13d8-d96c-42e3-b07c-3c373ddbda60/signaling 200 12ms","method":"POST","requestID":"fe901170-3d2a-11ef-b23c-0125361f42d1","responseTime":12,"status":200,"url":"/devices/640c13d8-d96c-42e3-b07c-3c373ddbda60/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzNH0.EJ0MKDYWAP8zKdLt8qLfxxfdhp6jfyS88Q__iD3XxQ0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d4893a83e48b6289e1bdf9b540499c98","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/ba972ffd-96f7-4d6c-aa7a-d52c26ec3cca"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:14Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.300551,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ba972ffd-96f7-4d6c-aa7a-d52c26ec3cca","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/ba972ffd-96f7-4d6c-aa7a-d52c26ec3cca","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444034,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzNH0.EJ0MKDYWAP8zKdLt8qLfxxfdhp6jfyS88Q__iD3XxQ0"} 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":"d4893a83e48b6289e1bdf9b540499c98"},"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/ba972ffd-96f7-4d6c-aa7a-d52c26ec3cca"} gateway-1 | {"time_local":"08/Jul/2024:13:07:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/ba972ffd-96f7-4d6c-aa7a-d52c26ec3cca HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d4893a83e48b6289e1bdf9b540499c98"} experiment-1 | {"level":"info","message":"GET /experiments/ba972ffd-96f7-4d6c-aa7a-d52c26ec3cca 200 16ms","method":"GET","requestID":"d4893a83e48b6289e1bdf9b540499c98","responseTime":16,"status":200,"url":"/experiments/ba972ffd-96f7-4d6c-aa7a-d52c26ec3cca"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzNH0.EJ0MKDYWAP8zKdLt8qLfxxfdhp6jfyS88Q__iD3XxQ0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b03e6d4c3efd0702314788c4822a4cca","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/ba972ffd-96f7-4d6c-aa7a-d52c26ec3cca"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:14Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.150201,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:14Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ba972ffd-96f7-4d6c-aa7a-d52c26ec3cca","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/ba972ffd-96f7-4d6c-aa7a-d52c26ec3cca","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444034,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzNH0.EJ0MKDYWAP8zKdLt8qLfxxfdhp6jfyS88Q__iD3XxQ0"} 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":"b03e6d4c3efd0702314788c4822a4cca"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba972ffd-96f7-4d6c-aa7a-d52c26ec3cca"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:14Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.361848,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:14Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/db72f3d4-56e2-4336-9237-0bbb2980757f","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:http://localhost/peerconnections/db72f3d4-56e2-4336-9237-0bbb2980757f","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444034,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzNH0.EJ0MKDYWAP8zKdLt8qLfxxfdhp6jfyS88Q__iD3XxQ0"} 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":"fe9a98c0-3d2a-11ef-b23c-0125361f42d1"},"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/db72f3d4-56e2-4336-9237-0bbb2980757f' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/db72f3d4-56e2-4336-9237-0bbb2980757f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"db72f3d4-56e2-4336-9237-0bbb2980757f","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fdb72f3d4-56e2-4336-9237-0bbb2980757f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fdb72f3d4-56e2-4336-9237-0bbb2980757f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"7e1432d2-f5e2-4278-873c-af86e916558d","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444034.149267} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"024c6ed0-a444-4b8d-8008-8b086d4bf54e","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444034.1498895} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"dff5e7505cf4f72156135cb028712848","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":"fe9a98c0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"857c6db8f3c55e314acff448447ffdc5","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/91ed7f75-6afa-4080-8959-bb032938653f"},{"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/640c13d8-d96c-42e3-b07c-3c373ddbda60"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/db72f3d4-56e2-4336-9237-0bbb2980757f"}}},"level":"info","message":"received a callback"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/91ed7f75-6afa-4080-8959-bb032938653f"},{"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/640c13d8-d96c-42e3-b07c-3c373ddbda60"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/db72f3d4-56e2-4336-9237-0bbb2980757f"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"db72f3d4-56e2-4336-9237-0bbb2980757f","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/db72f3d4-56e2-4336-9237-0bbb2980757f 204 50ms","method":"DELETE","requestID":"fe9a98c0-3d2a-11ef-b23c-0125361f42d1","responseTime":50,"status":204,"url":"/peerconnections/db72f3d4-56e2-4336-9237-0bbb2980757f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba972ffd-96f7-4d6c-aa7a-d52c26ec3cca"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:14Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91ed7f75-6afa-4080-8959-bb032938653f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"419f76db-cfc1-48da-b5d3-3a07198f6577","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444034.2084324} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.541545,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/91ed7f75-6afa-4080-8959-bb032938653f","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/91ed7f75-6afa-4080-8959-bb032938653f","object_type":"device","rebac_allow":false,"scope_allow":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":"fea67fa0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fba972ffd-96f7-4d6c-aa7a-d52c26ec3cca': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fba972ffd-96f7-4d6c-aa7a-d52c26ec3cca","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"1f147456-df93-4581-bf28-212c2c136486","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444034.2131975} device-1 | {"level":"info","message":"POST /devices/91ed7f75-6afa-4080-8959-bb032938653f/signaling 200 11ms","method":"POST","requestID":"fea67fa0-3d2a-11ef-b23c-0125361f42d1","responseTime":11,"status":200,"url":"/devices/91ed7f75-6afa-4080-8959-bb032938653f/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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f6623526-f5be-4c7e-b33f-428d7ec81358","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444034.2136512} 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":"b03e6d4c3efd0702314788c4822a4cca"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:14Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F640c13d8-d96c-42e3-b07c-3c373ddbda60","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0884ee8a-8796-40ca-aa4f-9d6c70e49954","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444034.2225199} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.149847,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/640c13d8-d96c-42e3-b07c-3c373ddbda60","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/640c13d8-d96c-42e3-b07c-3c373ddbda60","object_type":"device","rebac_allow":false,"scope_allow":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":"fea8a280-3d2a-11ef-b23c-0125361f42d1"},"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/640c13d8-d96c-42e3-b07c-3c373ddbda60/signaling 200 12ms","method":"POST","requestID":"fea8a280-3d2a-11ef-b23c-0125361f42d1","responseTime":12,"status":200,"url":"/devices/640c13d8-d96c-42e3-b07c-3c373ddbda60/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/ba972ffd-96f7-4d6c-aa7a-d52c26ec3cca"} gateway-1 | {"time_local":"08/Jul/2024:13:07:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/ba972ffd-96f7-4d6c-aa7a-d52c26ec3cca HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.179","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b03e6d4c3efd0702314788c4822a4cca"} gateway-1 | {"time_local":"08/Jul/2024:13:07:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2745","request_time":"2.706","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"55b3f277e10205951247db723c42c1cb"} gateway-1 | {"time_local":"08/Jul/2024:13:07:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2747","request_time":"2.697","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"f5dc5063ebfe0486dfc8b6f6e4d9ba2d"} experiment-1 | {"level":"info","message":"DELETE /experiments/ba972ffd-96f7-4d6c-aa7a-d52c26ec3cca 204 176ms","method":"DELETE","requestID":"b03e6d4c3efd0702314788c4822a4cca","responseTime":176,"status":204,"url":"/experiments/ba972ffd-96f7-4d6c-aa7a-d52c26ec3cca"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 131ms","method":"POST","requestID":"dff5e7505cf4f72156135cb028712848","responseTime":131,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07: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.137","http_referrer":"","http_user_agent":"node-fetch","requestID":"dff5e7505cf4f72156135cb028712848"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 131ms","method":"POST","requestID":"857c6db8f3c55e314acff448447ffdc5","responseTime":131,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07: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.138","http_referrer":"","http_user_agent":"node-fetch","requestID":"857c6db8f3c55e314acff448447ffdc5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzNH0.EJ0MKDYWAP8zKdLt8qLfxxfdhp6jfyS88Q__iD3XxQ0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"4f0d8a57cc8b30b63141e23e9bdc583c","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/91ed7f75-6afa-4080-8959-bb032938653f' closed"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:14Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.893052,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:14Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444034,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzNH0.EJ0MKDYWAP8zKdLt8qLfxxfdhp6jfyS88Q__iD3XxQ0"} 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":"4f0d8a57cc8b30b63141e23e9bdc583c"},"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/640c13d8-d96c-42e3-b07c-3c373ddbda60' 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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcedb64fd-084f-4646-8509-13d2a02c7b9c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4f4e0c08-a7d5-42e0-b9f3-85aa283ae908","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444034.3213625} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4f0d8a57cc8b30b63141e23e9bdc583c"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"464cd411-a0dd-4db4-b27c-6d332ef2aa8a","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444034.3273332} 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":"4f0d8a57cc8b30b63141e23e9bdc583c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcedb64fd-084f-4646-8509-13d2a02c7b9c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"8f8c4c5b-1213-4b76-8804-f8f00a293567","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444034.3381774} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"60737bd5-d065-41f4-a40a-0f9c9f554c94","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444034.338347} 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":"4f0d8a57cc8b30b63141e23e9bdc583c"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcedb64fd-084f-4646-8509-13d2a02c7b9c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcedb64fd-084f-4646-8509-13d2a02c7b9c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:14.338147688Z"}]},"request_id":"0e66a13c-fbf1-4d9a-a8c1-02b7bb45a5f8","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444034.343959} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4f0d8a57cc8b30b63141e23e9bdc583c"},"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":"4f0d8a57cc8b30b63141e23e9bdc583c","responseTime":52,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/Jul/2024:13:07:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.063","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4f0d8a57cc8b30b63141e23e9bdc583c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzNH0.EJ0MKDYWAP8zKdLt8qLfxxfdhp6jfyS88Q__iD3XxQ0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"27f0688455d75ff755d3a34961a8115a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:14Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.712857,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:14Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444034,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzNH0.EJ0MKDYWAP8zKdLt8qLfxxfdhp6jfyS88Q__iD3XxQ0"} 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":"27f0688455d75ff755d3a34961a8115a"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabeb702c-bb59-4186-9546-f489135076fa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"bb5ebf6f-374a-4cf7-88d8-a265923512d3","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444034.3682332} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"27f0688455d75ff755d3a34961a8115a"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a5c923e9-fab5-40d4-a6ca-aea9e149a826","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444034.3734198} 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":"27f0688455d75ff755d3a34961a8115a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabeb702c-bb59-4186-9546-f489135076fa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"43bf9738-e8b1-4c4d-9810-4447c7533f42","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444034.3893023} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b658b2a7-ce36-4570-8eab-481a5e86bc60","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444034.3895657} 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":"27f0688455d75ff755d3a34961a8115a"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabeb702c-bb59-4186-9546-f489135076fa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabeb702c-bb59-4186-9546-f489135076fa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:14.389270719Z"}]},"request_id":"fc34c64a-a6bf-4dfc-ae4c-d2a9e9f1059e","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444034.394562} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"27f0688455d75ff755d3a34961a8115a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:07:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"27f0688455d75ff755d3a34961a8115a"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"27f0688455d75ff755d3a34961a8115a","responseTime":43,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzNH0.EJ0MKDYWAP8zKdLt8qLfxxfdhp6jfyS88Q__iD3XxQ0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"57c276d80bdb5627a669445fbad2e111","responseTime":3,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzNH0.EJ0MKDYWAP8zKdLt8qLfxxfdhp6jfyS88Q__iD3XxQ0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7a0bf576608d5d9da389157140c3019c","responseTime":3,"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:58600","level":"info","msg":"Received request.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:14Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.666589,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:14Z"} authorization-1 | {"client_addr":"127.0.0.1:38528","level":"info","msg":"Received request.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:14Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/cedb64fd-084f-4646-8509-13d2a02c7b9c","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/cedb64fd-084f-4646-8509-13d2a02c7b9c","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444034,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzNH0.EJ0MKDYWAP8zKdLt8qLfxxfdhp6jfyS88Q__iD3XxQ0"} 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":"57c276d80bdb5627a669445fbad2e111"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:38528","level":"info","msg":"Sent response.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.754657,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:14Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/abeb702c-bb59-4186-9546-f489135076fa","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/abeb702c-bb59-4186-9546-f489135076fa","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444034,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzNH0.EJ0MKDYWAP8zKdLt8qLfxxfdhp6jfyS88Q__iD3XxQ0"} 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":"7a0bf576608d5d9da389157140c3019c"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcedb64fd-084f-4646-8509-13d2a02c7b9c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcedb64fd-084f-4646-8509-13d2a02c7b9c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:14.338147688Z"}]},"request_id":"781b864d-49c3-4609-af9d-d72316d0a56b","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444034.8794892} 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":"57c276d80bdb5627a669445fbad2e111"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabeb702c-bb59-4186-9546-f489135076fa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabeb702c-bb59-4186-9546-f489135076fa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:14.389270719Z"}]},"request_id":"b96622bc-0376-4cb9-88e8-48a054a9193c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444034.8800492} 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":"7a0bf576608d5d9da389157140c3019c"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0ae790ba-9ebe-4a9d-b7cf-2bfe4750d16b","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444034.8846943} 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":"57c276d80bdb5627a669445fbad2e111"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d0f913e2-f136-42dc-a5e1-26e16499933d","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444034.8869002} 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":"7a0bf576608d5d9da389157140c3019c"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabeb702c-bb59-4186-9546-f489135076fa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabeb702c-bb59-4186-9546-f489135076fa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:14.389270719Z"}]},"request_id":"c064c0f7-5508-460f-99e2-6418c06cea9c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444034.8902543} 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":"7a0bf576608d5d9da389157140c3019c"},"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/abeb702c-bb59-4186-9546-f489135076fa 200 24ms","method":"PATCH","requestID":"7a0bf576608d5d9da389157140c3019c","responseTime":24,"status":200,"url":"/devices/abeb702c-bb59-4186-9546-f489135076fa"} gateway-1 | {"time_local":"08/Jul/2024:13:07:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/abeb702c-bb59-4186-9546-f489135076fa HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.031","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"7a0bf576608d5d9da389157140c3019c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzNH0.EJ0MKDYWAP8zKdLt8qLfxxfdhp6jfyS88Q__iD3XxQ0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c40425c570077d7408a484b509b61dc1","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcedb64fd-084f-4646-8509-13d2a02c7b9c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcedb64fd-084f-4646-8509-13d2a02c7b9c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:14.338147688Z"}]},"request_id":"c7405ce4-067b-4191-b65a-3a3edce6f69e","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444034.9001493} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"57c276d80bdb5627a669445fbad2e111"},"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:58600","level":"info","msg":"Received request.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:14Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.662092,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:14Z"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/abeb702c-bb59-4186-9546-f489135076fa","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/abeb702c-bb59-4186-9546-f489135076fa","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444034,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzNH0.EJ0MKDYWAP8zKdLt8qLfxxfdhp6jfyS88Q__iD3XxQ0"} gateway-1 | {"time_local":"08/Jul/2024:13:07:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/cedb64fd-084f-4646-8509-13d2a02c7b9c HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.040","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"57c276d80bdb5627a669445fbad2e111"} device-1 | {"level":"info","message":"PATCH /devices/cedb64fd-084f-4646-8509-13d2a02c7b9c 200 35ms","method":"PATCH","requestID":"57c276d80bdb5627a669445fbad2e111","responseTime":35,"status":200,"url":"/devices/cedb64fd-084f-4646-8509-13d2a02c7b9c"} 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":"c40425c570077d7408a484b509b61dc1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzNH0.EJ0MKDYWAP8zKdLt8qLfxxfdhp6jfyS88Q__iD3XxQ0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"11436cc064f27f53688299fd16f08a3c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:14Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.696139,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:14Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/cedb64fd-084f-4646-8509-13d2a02c7b9c","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/cedb64fd-084f-4646-8509-13d2a02c7b9c","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444034,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzNH0.EJ0MKDYWAP8zKdLt8qLfxxfdhp6jfyS88Q__iD3XxQ0"} 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":"11436cc064f27f53688299fd16f08a3c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:07:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/abeb702c-bb59-4186-9546-f489135076fa/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.020","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"c40425c570077d7408a484b509b61dc1"} device-1 | {"level":"info","message":"POST /devices/abeb702c-bb59-4186-9546-f489135076fa/websocket 200 16ms","method":"POST","requestID":"c40425c570077d7408a484b509b61dc1","responseTime":16,"status":200,"url":"/devices/abeb702c-bb59-4186-9546-f489135076fa/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:07:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/cedb64fd-084f-4646-8509-13d2a02c7b9c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.019","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"11436cc064f27f53688299fd16f08a3c"} device-1 | {"level":"info","message":"POST /devices/cedb64fd-084f-4646-8509-13d2a02c7b9c/websocket 200 15ms","method":"POST","requestID":"11436cc064f27f53688299fd16f08a3c","responseTime":15,"status":200,"url":"/devices/cedb64fd-084f-4646-8509-13d2a02c7b9c/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/abeb702c-bb59-4186-9546-f489135076fa' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/cedb64fd-084f-4646-8509-13d2a02c7b9c' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzNH0.EJ0MKDYWAP8zKdLt8qLfxxfdhp6jfyS88Q__iD3XxQ0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fb9a20a1616d3aa6a48c9c5c09479dbb","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:14Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.432229,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cedb64fd-084f-4646-8509-13d2a02c7b9c","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/cedb64fd-084f-4646-8509-13d2a02c7b9c","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444034,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzNH0.EJ0MKDYWAP8zKdLt8qLfxxfdhp6jfyS88Q__iD3XxQ0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fb9a20a1616d3aa6a48c9c5c09479dbb"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcedb64fd-084f-4646-8509-13d2a02c7b9c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcedb64fd-084f-4646-8509-13d2a02c7b9c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:14.338147688Z"}]},"request_id":"c38a8ef3-ddf2-4936-826c-8d919f3e7b23","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444034.9516854} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fb9a20a1616d3aa6a48c9c5c09479dbb"},"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":"08/Jul/2024:13:07:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/cedb64fd-084f-4646-8509-13d2a02c7b9c? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fb9a20a1616d3aa6a48c9c5c09479dbb"} device-1 | {"level":"info","message":"GET /devices/cedb64fd-084f-4646-8509-13d2a02c7b9c? 200 14ms","method":"GET","requestID":"fb9a20a1616d3aa6a48c9c5c09479dbb","responseTime":14,"status":200,"url":"/devices/cedb64fd-084f-4646-8509-13d2a02c7b9c?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzNH0.EJ0MKDYWAP8zKdLt8qLfxxfdhp6jfyS88Q__iD3XxQ0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d283e7b9ac15a5d33055c41beb21253f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:14Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.28706,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/abeb702c-bb59-4186-9546-f489135076fa","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/abeb702c-bb59-4186-9546-f489135076fa","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444034,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzNH0.EJ0MKDYWAP8zKdLt8qLfxxfdhp6jfyS88Q__iD3XxQ0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d283e7b9ac15a5d33055c41beb21253f"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabeb702c-bb59-4186-9546-f489135076fa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabeb702c-bb59-4186-9546-f489135076fa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:14.389270719Z"}]},"request_id":"d85ef088-f599-4b2f-a6d6-3fd7e2a0ce10","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444034.9724178} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d283e7b9ac15a5d33055c41beb21253f"},"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":"08/Jul/2024:13:07:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/abeb702c-bb59-4186-9546-f489135076fa? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d283e7b9ac15a5d33055c41beb21253f"} device-1 | {"level":"info","message":"GET /devices/abeb702c-bb59-4186-9546-f489135076fa? 200 15ms","method":"GET","requestID":"d283e7b9ac15a5d33055c41beb21253f","responseTime":15,"status":200,"url":"/devices/abeb702c-bb59-4186-9546-f489135076fa?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzNH0.EJ0MKDYWAP8zKdLt8qLfxxfdhp6jfyS88Q__iD3XxQ0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"cd7be63ac6e8793a27aaa6ce9ea86602","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:58600","level":"info","msg":"Received request.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:14Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.054954,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:14Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444034,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzNH0.EJ0MKDYWAP8zKdLt8qLfxxfdhp6jfyS88Q__iD3XxQ0"} 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":"cd7be63ac6e8793a27aaa6ce9ea86602"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb84a266-12b9-4210-be7a-61dc98477f28"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb84a266-12b9-4210-be7a-61dc98477f28"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb84a266-12b9-4210-be7a-61dc98477f28"},"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:58600","level":"info","msg":"Received request.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:15Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.260873,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:15Z"} authorization-1 | {"client_addr":"127.0.0.1:38528","level":"info","msg":"Received request.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cedb64fd-084f-4646-8509-13d2a02c7b9c","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/cedb64fd-084f-4646-8509-13d2a02c7b9c","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444034,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzNH0.EJ0MKDYWAP8zKdLt8qLfxxfdhp6jfyS88Q__iD3XxQ0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ff246230-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:38528","level":"info","msg":"Sent response.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.904356,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/abeb702c-bb59-4186-9546-f489135076fa","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/abeb702c-bb59-4186-9546-f489135076fa","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444034,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzNH0.EJ0MKDYWAP8zKdLt8qLfxxfdhp6jfyS88Q__iD3XxQ0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ff248940-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcedb64fd-084f-4646-8509-13d2a02c7b9c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcedb64fd-084f-4646-8509-13d2a02c7b9c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:14.338147688Z"}]},"request_id":"c649a905-56d7-428c-9551-eedef83bf254","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444035.0388305} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ff246230-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabeb702c-bb59-4186-9546-f489135076fa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabeb702c-bb59-4186-9546-f489135076fa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:14.389270719Z"}]},"request_id":"36d10fda-15e7-4d3a-98eb-058a49831661","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444035.0403168} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ff248940-3d2a-11ef-b23c-0125361f42d1"},"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/cedb64fd-084f-4646-8509-13d2a02c7b9c? 200 17ms","method":"GET","requestID":"ff246230-3d2a-11ef-b23c-0125361f42d1","responseTime":17,"status":200,"url":"/devices/cedb64fd-084f-4646-8509-13d2a02c7b9c?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/abeb702c-bb59-4186-9546-f489135076fa? 200 17ms","method":"GET","requestID":"ff248940-3d2a-11ef-b23c-0125361f42d1","responseTime":17,"status":200,"url":"/devices/abeb702c-bb59-4186-9546-f489135076fa?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb84a266-12b9-4210-be7a-61dc98477f28"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb84a266-12b9-4210-be7a-61dc98477f28"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb84a266-12b9-4210-be7a-61dc98477f28"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb84a266-12b9-4210-be7a-61dc98477f28"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb84a266-12b9-4210-be7a-61dc98477f28"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb84a266-12b9-4210-be7a-61dc98477f28"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb84a266-12b9-4210-be7a-61dc98477f28"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb84a266-12b9-4210-be7a-61dc98477f28"},"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/eb84a266-12b9-4210-be7a-61dc98477f28"},"level":"info","message":"Successfully running experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:15Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.731384,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:15Z"} authorization-1 | {"client_addr":"127.0.0.1:38528","level":"info","msg":"Received request.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cedb64fd-084f-4646-8509-13d2a02c7b9c","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/cedb64fd-084f-4646-8509-13d2a02c7b9c","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444034,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzNH0.EJ0MKDYWAP8zKdLt8qLfxxfdhp6jfyS88Q__iD3XxQ0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ff2f37a0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:38528","level":"info","msg":"Sent response.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.127979,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/abeb702c-bb59-4186-9546-f489135076fa","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/abeb702c-bb59-4186-9546-f489135076fa","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444034,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzNH0.EJ0MKDYWAP8zKdLt8qLfxxfdhp6jfyS88Q__iD3XxQ0"} 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":"ff2f5eb0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:15Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcedb64fd-084f-4646-8509-13d2a02c7b9c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bba44ab2-a9c5-4cba-8116-1e4a62451399","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444035.1095698} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcedb64fd-084f-4646-8509-13d2a02c7b9c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcedb64fd-084f-4646-8509-13d2a02c7b9c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:14.338147688Z"}]},"request_id":"fafafafd-facd-45e0-9e88-3888d197f8e7","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444035.1103432} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.614334,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cedb64fd-084f-4646-8509-13d2a02c7b9c","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cedb64fd-084f-4646-8509-13d2a02c7b9c","object_type":"device","rebac_allow":false,"scope_allow":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":"ff2facd0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} 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":"ff2f37a0-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabeb702c-bb59-4186-9546-f489135076fa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabeb702c-bb59-4186-9546-f489135076fa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:14.389270719Z"}]},"request_id":"acf5c718-3614-4566-bcb4-a28298e0e110","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444035.1118596} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ff2f5eb0-3d2a-11ef-b23c-0125361f42d1"},"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/cedb64fd-084f-4646-8509-13d2a02c7b9c/signaling 200 20ms","method":"POST","requestID":"ff2facd0-3d2a-11ef-b23c-0125361f42d1","responseTime":20,"status":200,"url":"/devices/cedb64fd-084f-4646-8509-13d2a02c7b9c/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/cedb64fd-084f-4646-8509-13d2a02c7b9c? 200 24ms","method":"GET","requestID":"ff2f37a0-3d2a-11ef-b23c-0125361f42d1","responseTime":24,"status":200,"url":"/devices/cedb64fd-084f-4646-8509-13d2a02c7b9c?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/abeb702c-bb59-4186-9546-f489135076fa? 200 24ms","method":"GET","requestID":"ff2f5eb0-3d2a-11ef-b23c-0125361f42d1","responseTime":24,"status":200,"url":"/devices/abeb702c-bb59-4186-9546-f489135076fa?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Feb84a266-12b9-4210-be7a-61dc98477f28#owner@http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Feb84a266-12b9-4210-be7a-61dc98477f28","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"42189e50-9c59-4bb1-859e-49ac1340f4b9","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444035.1241815} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6c979d7b-55de-4936-b6cf-3ae8fcc57abb","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444035.1247158} 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":"cd7be63ac6e8793a27aaa6ce9ea86602"},"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:58600","level":"info","msg":"Received request.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:15Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabeb702c-bb59-4186-9546-f489135076fa","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"db435c55-c807-4127-b57d-96a4a0edd9ae","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444035.129094} authorization-1 | {"client_addr":"127.0.0.1:38528","level":"info","msg":"Received request.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:15Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.730634,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/abeb702c-bb59-4186-9546-f489135076fa","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/abeb702c-bb59-4186-9546-f489135076fa","object_type":"device","rebac_allow":false,"scope_allow":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":"ff330830-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcedb64fd-084f-4646-8509-13d2a02c7b9c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9f8e521e-9362-4826-867f-8eb01ced993c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444035.1319509} authorization-1 | {"client_addr":"127.0.0.1:38528","level":"info","msg":"Sent response.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.969048,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cedb64fd-084f-4646-8509-13d2a02c7b9c","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cedb64fd-084f-4646-8509-13d2a02c7b9c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/abeb702c-bb59-4186-9546-f489135076fa/signaling 200 9ms","method":"POST","requestID":"ff330830-3d2a-11ef-b23c-0125361f42d1","responseTime":9,"status":200,"url":"/devices/abeb702c-bb59-4186-9546-f489135076fa/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":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ff337d60-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/eb84a266-12b9-4210-be7a-61dc98477f28","user":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"08/Jul/2024:13:07:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.157","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cd7be63ac6e8793a27aaa6ce9ea86602"} experiment-1 | {"level":"info","message":"POST /experiments? 201 151ms","method":"POST","requestID":"cd7be63ac6e8793a27aaa6ce9ea86602","responseTime":151,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/cedb64fd-084f-4646-8509-13d2a02c7b9c/signaling 200 10ms","method":"POST","requestID":"ff337d60-3d2a-11ef-b23c-0125361f42d1","responseTime":10,"status":200,"url":"/devices/cedb64fd-084f-4646-8509-13d2a02c7b9c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzNX0.oZvbOHA1BpOmfAsUDe3VlSV3xrtidjt2piakMPtW2Do","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b8b7e03a20aa4049239176ccc1015aa7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:15Z"} authorization-1 | {"client_addr":"127.0.0.1:38528","level":"info","msg":"Received request.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:15Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabeb702c-bb59-4186-9546-f489135076fa","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8d95db0e-d1d2-4635-a849-aaa14be5f985","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444035.1437514} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.363753,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/abeb702c-bb59-4186-9546-f489135076fa","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/abeb702c-bb59-4186-9546-f489135076fa","object_type":"device","rebac_allow":false,"scope_allow":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":"ff355220-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:38528","level":"info","msg":"Sent response.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.015537,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cedb64fd-084f-4646-8509-13d2a02c7b9c","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/cedb64fd-084f-4646-8509-13d2a02c7b9c","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444035,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzNX0.oZvbOHA1BpOmfAsUDe3VlSV3xrtidjt2piakMPtW2Do"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b8b7e03a20aa4049239176ccc1015aa7"},"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/abeb702c-bb59-4186-9546-f489135076fa/signaling 200 10ms","method":"POST","requestID":"ff355220-3d2a-11ef-b23c-0125361f42d1","responseTime":10,"status":200,"url":"/devices/abeb702c-bb59-4186-9546-f489135076fa/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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcedb64fd-084f-4646-8509-13d2a02c7b9c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcedb64fd-084f-4646-8509-13d2a02c7b9c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:14.338147688Z"}]},"request_id":"4f0b8b69-31bf-4d78-802c-ec858e7c0f2b","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444035.149172} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb84a266-12b9-4210-be7a-61dc98477f28"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb84a266-12b9-4210-be7a-61dc98477f28"},"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":"4d57d34c-be92-42df-886b-f4e04e6f8326"},{"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":"0de3968a-1ee6-4ae0-a9da-80f9d3a7c9c2"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"70577819-0fec-4adc-a69b-066138e1f9f2"}]},"level":"info","message":"Built pairwise service configurations"} 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":"b8b7e03a20aa4049239176ccc1015aa7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} 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/cedb64fd-084f-4646-8509-13d2a02c7b9c"},{"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/abeb702c-bb59-4186-9546-f489135076fa"}],"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:58600","level":"info","msg":"Received request.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:15Z"} gateway-1 | {"time_local":"08/Jul/2024:13:07:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/cedb64fd-084f-4646-8509-13d2a02c7b9c? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b8b7e03a20aa4049239176ccc1015aa7"} device-1 | {"level":"info","message":"GET /devices/cedb64fd-084f-4646-8509-13d2a02c7b9c? 200 14ms","method":"GET","requestID":"b8b7e03a20aa4049239176ccc1015aa7","responseTime":14,"status":200,"url":"/devices/cedb64fd-084f-4646-8509-13d2a02c7b9c?"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.861972,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444034,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzNH0.EJ0MKDYWAP8zKdLt8qLfxxfdhp6jfyS88Q__iD3XxQ0"} 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":"ff374df0-3d2a-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzNX0.oZvbOHA1BpOmfAsUDe3VlSV3xrtidjt2piakMPtW2Do","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7bcfa8033bdf837d5f32b449d502ae24","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:15Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.979235,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/abeb702c-bb59-4186-9546-f489135076fa","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/abeb702c-bb59-4186-9546-f489135076fa","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444035,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzNX0.oZvbOHA1BpOmfAsUDe3VlSV3xrtidjt2piakMPtW2Do"} 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":"7bcfa8033bdf837d5f32b449d502ae24"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","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%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"d1210de4-f6b2-441f-b254-05f77c80bdd5","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444035.1641607} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3f0896f8-3886-427c-a021-724a105e2d8a","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444035.1644957} 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":"ff374df0-3d2a-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabeb702c-bb59-4186-9546-f489135076fa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabeb702c-bb59-4186-9546-f489135076fa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:14.389270719Z"}]},"request_id":"f3fc54f1-a22e-490e-95cd-9497e27db459","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444035.1680052} 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":"7bcfa8033bdf837d5f32b449d502ae24"},"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/3f184c62-bf5a-47bd-85f4-b2214a0dd3a7'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/3f184c62-bf5a-47bd-85f4-b2214a0dd3a7'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 28ms","method":"POST","requestID":"ff374df0-3d2a-11ef-b23c-0125361f42d1","responseTime":28,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:07:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/abeb702c-bb59-4186-9546-f489135076fa? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7bcfa8033bdf837d5f32b449d502ae24"} device-1 | {"level":"info","message":"GET /devices/abeb702c-bb59-4186-9546-f489135076fa? 200 20ms","method":"GET","requestID":"7bcfa8033bdf837d5f32b449d502ae24","responseTime":20,"status":200,"url":"/devices/abeb702c-bb59-4186-9546-f489135076fa?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb84a266-12b9-4210-be7a-61dc98477f28"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:15Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcedb64fd-084f-4646-8509-13d2a02c7b9c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cdd0a304-8b7b-4160-972b-af3647eea31a","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444035.2100925} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.64194,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cedb64fd-084f-4646-8509-13d2a02c7b9c","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cedb64fd-084f-4646-8509-13d2a02c7b9c","object_type":"device","rebac_allow":false,"scope_allow":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":"ff3f8b50-3d2a-11ef-b23c-0125361f42d1"},"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/cedb64fd-084f-4646-8509-13d2a02c7b9c/signaling 200 9ms","method":"POST","requestID":"ff3f8b50-3d2a-11ef-b23c-0125361f42d1","responseTime":9,"status":200,"url":"/devices/cedb64fd-084f-4646-8509-13d2a02c7b9c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:15Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabeb702c-bb59-4186-9546-f489135076fa","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"605e03b7-e06a-4675-b061-99ae9e76502e","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444035.2212448} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.197719,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/abeb702c-bb59-4186-9546-f489135076fa","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/abeb702c-bb59-4186-9546-f489135076fa","object_type":"device","rebac_allow":false,"scope_allow":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":"ff413900-3d2a-11ef-b23c-0125361f42d1"},"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/abeb702c-bb59-4186-9546-f489135076fa/signaling 200 9ms","method":"POST","requestID":"ff413900-3d2a-11ef-b23c-0125361f42d1","responseTime":9,"status":200,"url":"/devices/abeb702c-bb59-4186-9546-f489135076fa/signaling"} device-1 | {"data":{"peerconnection":"3f184c62-bf5a-47bd-85f4-b2214a0dd3a7","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"3f184c62-bf5a-47bd-85f4-b2214a0dd3a7","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/3f184c62-bf5a-47bd-85f4-b2214a0dd3a7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3f184c62-bf5a-47bd-85f4-b2214a0dd3a7","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":"3689873b4747d1cd870cd039003b802d","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/cedb64fd-084f-4646-8509-13d2a02c7b9c"},{"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/abeb702c-bb59-4186-9546-f489135076fa"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/3f184c62-bf5a-47bd-85f4-b2214a0dd3a7"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 10ms","method":"POST","requestID":"3689873b4747d1cd870cd039003b802d","responseTime":10,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch","requestID":"3689873b4747d1cd870cd039003b802d"} device-1 | {"data":{"peerconnection":"3f184c62-bf5a-47bd-85f4-b2214a0dd3a7","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"3f184c62-bf5a-47bd-85f4-b2214a0dd3a7","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/3f184c62-bf5a-47bd-85f4-b2214a0dd3a7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3f184c62-bf5a-47bd-85f4-b2214a0dd3a7","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":"42e54236f293f61eb70c9b09a7b941dc","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/cedb64fd-084f-4646-8509-13d2a02c7b9c"},{"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/abeb702c-bb59-4186-9546-f489135076fa"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/3f184c62-bf5a-47bd-85f4-b2214a0dd3a7"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:17Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3f184c62-bf5a-47bd-85f4-b2214a0dd3a7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a9d136d5-6c17-4c3f-b069-2a073e80aefb","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444037.3096626} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.608956,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3f184c62-bf5a-47bd-85f4-b2214a0dd3a7","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/3f184c62-bf5a-47bd-85f4-b2214a0dd3a7","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":"007fac70-3d2b-11ef-b23c-0125361f42d1"},"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/3f184c62-bf5a-47bd-85f4-b2214a0dd3a7 200 12ms","method":"GET","requestID":"007fac70-3d2b-11ef-b23c-0125361f42d1","responseTime":12,"status":200,"url":"/peerconnections/3f184c62-bf5a-47bd-85f4-b2214a0dd3a7"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 52ms","method":"POST","requestID":"42e54236f293f61eb70c9b09a7b941dc","responseTime":52,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.057","http_referrer":"","http_user_agent":"node-fetch","requestID":"42e54236f293f61eb70c9b09a7b941dc"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:17Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcedb64fd-084f-4646-8509-13d2a02c7b9c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3a2d660c-2cb5-49d1-9bf5-19eb49e1db60","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444037.353054} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.909447,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cedb64fd-084f-4646-8509-13d2a02c7b9c","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cedb64fd-084f-4646-8509-13d2a02c7b9c","object_type":"device","rebac_allow":false,"scope_allow":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":"00863c20-3d2b-11ef-b23c-0125361f42d1"},"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/cedb64fd-084f-4646-8509-13d2a02c7b9c/signaling 200 13ms","method":"POST","requestID":"00863c20-3d2b-11ef-b23c-0125361f42d1","responseTime":13,"status":200,"url":"/devices/cedb64fd-084f-4646-8509-13d2a02c7b9c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:17Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabeb702c-bb59-4186-9546-f489135076fa","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"64a96a04-0b60-48e4-8044-9406d3f8f96e","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444037.3696377} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.856628,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/abeb702c-bb59-4186-9546-f489135076fa","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/abeb702c-bb59-4186-9546-f489135076fa","object_type":"device","rebac_allow":false,"scope_allow":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":"0088d430-3d2b-11ef-b23c-0125361f42d1"},"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/abeb702c-bb59-4186-9546-f489135076fa/signaling 200 12ms","method":"POST","requestID":"0088d430-3d2b-11ef-b23c-0125361f42d1","responseTime":12,"status":200,"url":"/devices/abeb702c-bb59-4186-9546-f489135076fa/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzN30.mr4sMfS_Wo258RQsqGg_Ryf-mucT6tTh9oPDrMqmT7U","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"a5659f3685329023849a13a228bedba0","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/eb84a266-12b9-4210-be7a-61dc98477f28"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:17Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.787876,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/eb84a266-12b9-4210-be7a-61dc98477f28","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/eb84a266-12b9-4210-be7a-61dc98477f28","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444037,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzN30.mr4sMfS_Wo258RQsqGg_Ryf-mucT6tTh9oPDrMqmT7U"} 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":"a5659f3685329023849a13a228bedba0"},"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/eb84a266-12b9-4210-be7a-61dc98477f28"} gateway-1 | {"time_local":"08/Jul/2024:13:07:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/eb84a266-12b9-4210-be7a-61dc98477f28 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":"a5659f3685329023849a13a228bedba0"} experiment-1 | {"level":"info","message":"GET /experiments/eb84a266-12b9-4210-be7a-61dc98477f28 200 16ms","method":"GET","requestID":"a5659f3685329023849a13a228bedba0","responseTime":16,"status":200,"url":"/experiments/eb84a266-12b9-4210-be7a-61dc98477f28"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzN30.mr4sMfS_Wo258RQsqGg_Ryf-mucT6tTh9oPDrMqmT7U","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"9fedc4753088150ff5df5648ffadc58f","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/eb84a266-12b9-4210-be7a-61dc98477f28"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:17Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.315844,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:17Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/eb84a266-12b9-4210-be7a-61dc98477f28","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/eb84a266-12b9-4210-be7a-61dc98477f28","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444037,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzN30.mr4sMfS_Wo258RQsqGg_Ryf-mucT6tTh9oPDrMqmT7U"} 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":"9fedc4753088150ff5df5648ffadc58f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb84a266-12b9-4210-be7a-61dc98477f28"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:17Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.347502,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:17Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3f184c62-bf5a-47bd-85f4-b2214a0dd3a7","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:http://localhost/peerconnections/3f184c62-bf5a-47bd-85f4-b2214a0dd3a7","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444037,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzN30.mr4sMfS_Wo258RQsqGg_Ryf-mucT6tTh9oPDrMqmT7U"} 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":"0093a9a0-3d2b-11ef-b23c-0125361f42d1"},"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/3f184c62-bf5a-47bd-85f4-b2214a0dd3a7' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/3f184c62-bf5a-47bd-85f4-b2214a0dd3a7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3f184c62-bf5a-47bd-85f4-b2214a0dd3a7","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":"75ae3d7fe9adf954c136b6ed3148c914","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3f184c62-bf5a-47bd-85f4-b2214a0dd3a7': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3f184c62-bf5a-47bd-85f4-b2214a0dd3a7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"1cc30979-59df-4b01-a053-0a45e014d0dc","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444037.4617336} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"c1545eb4615de7315c6d165c39bcf919","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/cedb64fd-084f-4646-8509-13d2a02c7b9c"},{"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/abeb702c-bb59-4186-9546-f489135076fa"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/3f184c62-bf5a-47bd-85f4-b2214a0dd3a7"}}},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f94a7463-2ba6-446b-91b9-93f12547f4ee","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444037.4625096} 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":"0093a9a0-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/cedb64fd-084f-4646-8509-13d2a02c7b9c"},{"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/abeb702c-bb59-4186-9546-f489135076fa"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/3f184c62-bf5a-47bd-85f4-b2214a0dd3a7"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"3f184c62-bf5a-47bd-85f4-b2214a0dd3a7","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/3f184c62-bf5a-47bd-85f4-b2214a0dd3a7 204 48ms","method":"DELETE","requestID":"0093a9a0-3d2b-11ef-b23c-0125361f42d1","responseTime":48,"status":204,"url":"/peerconnections/3f184c62-bf5a-47bd-85f4-b2214a0dd3a7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb84a266-12b9-4210-be7a-61dc98477f28"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:17Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcedb64fd-084f-4646-8509-13d2a02c7b9c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7f3ca3a8-75f5-4993-bfe6-fd17d294e574","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444037.515866} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.335849,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cedb64fd-084f-4646-8509-13d2a02c7b9c","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cedb64fd-084f-4646-8509-13d2a02c7b9c","object_type":"device","rebac_allow":false,"scope_allow":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":"009ef440-3d2b-11ef-b23c-0125361f42d1"},"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/cedb64fd-084f-4646-8509-13d2a02c7b9c/signaling 200 16ms","method":"POST","requestID":"009ef440-3d2b-11ef-b23c-0125361f42d1","responseTime":16,"status":200,"url":"/devices/cedb64fd-084f-4646-8509-13d2a02c7b9c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Feb84a266-12b9-4210-be7a-61dc98477f28': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Feb84a266-12b9-4210-be7a-61dc98477f28","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"52bebd80-fea9-4d35-8bdb-3b12cbb91667","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444037.5284843} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7191caa0-e128-4594-bd12-796f958c3a3f","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444037.529244} authorization-1 | {"level":"info","message":"POST /relations/update 200 26ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9fedc4753088150ff5df5648ffadc58f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":26}} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:17Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabeb702c-bb59-4186-9546-f489135076fa","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f7215f56-f588-430a-bfb4-cb9cb3b69453","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444037.536227} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.246629,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/abeb702c-bb59-4186-9546-f489135076fa","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/abeb702c-bb59-4186-9546-f489135076fa","object_type":"device","rebac_allow":false,"scope_allow":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":"00a1da70-3d2b-11ef-b23c-0125361f42d1"},"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/abeb702c-bb59-4186-9546-f489135076fa/signaling 200 16ms","method":"POST","requestID":"00a1da70-3d2b-11ef-b23c-0125361f42d1","responseTime":16,"status":200,"url":"/devices/abeb702c-bb59-4186-9546-f489135076fa/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/eb84a266-12b9-4210-be7a-61dc98477f28"} gateway-1 | {"time_local":"08/Jul/2024:13:07:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/eb84a266-12b9-4210-be7a-61dc98477f28 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.194","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9fedc4753088150ff5df5648ffadc58f"} gateway-1 | {"time_local":"08/Jul/2024:13:07:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2747","request_time":"2.682","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"16a2ef88488f23f46320ef40d51a8ed9"} gateway-1 | {"time_local":"08/Jul/2024:13:07:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2745","request_time":"2.690","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"2538105c597754ea542dfc294b500293"} experiment-1 | {"level":"info","message":"DELETE /experiments/eb84a266-12b9-4210-be7a-61dc98477f28 204 190ms","method":"DELETE","requestID":"9fedc4753088150ff5df5648ffadc58f","responseTime":190,"status":204,"url":"/experiments/eb84a266-12b9-4210-be7a-61dc98477f28"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 148ms","method":"POST","requestID":"75ae3d7fe9adf954c136b6ed3148c914","responseTime":148,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.152","http_referrer":"","http_user_agent":"node-fetch","requestID":"75ae3d7fe9adf954c136b6ed3148c914"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 146ms","method":"POST","requestID":"c1545eb4615de7315c6d165c39bcf919","responseTime":146,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.154","http_referrer":"","http_user_agent":"node-fetch","requestID":"c1545eb4615de7315c6d165c39bcf919"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/abeb702c-bb59-4186-9546-f489135076fa' closed"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzN30.mr4sMfS_Wo258RQsqGg_Ryf-mucT6tTh9oPDrMqmT7U","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"3cd5c2338ba81427530e80f732fac00d","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:17Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.400625,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:17Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444037,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzN30.mr4sMfS_Wo258RQsqGg_Ryf-mucT6tTh9oPDrMqmT7U"} 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":"3cd5c2338ba81427530e80f732fac00d"},"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/cedb64fd-084f-4646-8509-13d2a02c7b9c' 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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98dbb14c-d63c-4048-ab3b-a42299ab8f17","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"983b1d1d-7308-4a58-8124-22fc9c7ad050","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444037.6381364} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3cd5c2338ba81427530e80f732fac00d"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3d05608b-83f0-47f1-beb7-f8d7e86f6c2f","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444037.6452165} 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":"3cd5c2338ba81427530e80f732fac00d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98dbb14c-d63c-4048-ab3b-a42299ab8f17","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"16b89b21-e4b5-4344-9fe4-6bcb11b2af09","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444037.655262} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4475641a-1ee0-4e5b-951a-87a9ae6889b3","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444037.655557} 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":"3cd5c2338ba81427530e80f732fac00d"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98dbb14c-d63c-4048-ab3b-a42299ab8f17","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98dbb14c-d63c-4048-ab3b-a42299ab8f17","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:17.655227670Z"}]},"request_id":"3a179421-816c-4f9f-a54b-bab1d2e15c5c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444037.6606977} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3cd5c2338ba81427530e80f732fac00d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:07:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3cd5c2338ba81427530e80f732fac00d"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"3cd5c2338ba81427530e80f732fac00d","responseTime":48,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzN30.mr4sMfS_Wo258RQsqGg_Ryf-mucT6tTh9oPDrMqmT7U","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e751e92ffe9ff60fd55e2e6137f4efe9","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:17Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.921642,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:17Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444037,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzN30.mr4sMfS_Wo258RQsqGg_Ryf-mucT6tTh9oPDrMqmT7U"} 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":"e751e92ffe9ff60fd55e2e6137f4efe9"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc458e81e-cf22-468e-b2a7-3aa58f48d2ed","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3743e557-9e7e-491a-b179-cef2885e1560","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444037.6874058} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e751e92ffe9ff60fd55e2e6137f4efe9"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"84c4d2f5-3795-474f-baf9-91ce7159380e","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444037.6926277} 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":"e751e92ffe9ff60fd55e2e6137f4efe9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc458e81e-cf22-468e-b2a7-3aa58f48d2ed","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"9264723b-9373-462b-939e-28f5f8798328","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444037.7087996} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"71e725dc-1804-460d-b8b3-a6d21479d516","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444037.7090583} 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":"e751e92ffe9ff60fd55e2e6137f4efe9"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc458e81e-cf22-468e-b2a7-3aa58f48d2ed","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc458e81e-cf22-468e-b2a7-3aa58f48d2ed","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:17.708777179Z"}]},"request_id":"fbb0fa71-7c2b-468e-9473-d0c833213357","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444037.7135565} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e751e92ffe9ff60fd55e2e6137f4efe9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:07:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e751e92ffe9ff60fd55e2e6137f4efe9"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"e751e92ffe9ff60fd55e2e6137f4efe9","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"980ac990c68344324374fbbef4b0c0ad","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:07:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/c458e81e-cf22-468e-b2a7-3aa58f48d2ed/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":"980ac990c68344324374fbbef4b0c0ad"} device-1 | {"level":"info","message":"OPTIONS /devices/c458e81e-cf22-468e-b2a7-3aa58f48d2ed/websocket 200 1ms","method":"OPTIONS","requestID":"980ac990c68344324374fbbef4b0c0ad","responseTime":1,"status":200,"url":"/devices/c458e81e-cf22-468e-b2a7-3aa58f48d2ed/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzOX0.2ZBDRAKTlvILp8oAsdOsGSZdnlBzA059RUN4-M67XLo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c307b34bcc1d83f79481ff849673cb17","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:19Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.865702,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:19Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c458e81e-cf22-468e-b2a7-3aa58f48d2ed","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/c458e81e-cf22-468e-b2a7-3aa58f48d2ed","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444039,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzOX0.2ZBDRAKTlvILp8oAsdOsGSZdnlBzA059RUN4-M67XLo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c307b34bcc1d83f79481ff849673cb17"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b95e99123f2acf161fee627d801ac191","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:07:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/98dbb14c-d63c-4048-ab3b-a42299ab8f17/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":"b95e99123f2acf161fee627d801ac191"} device-1 | {"level":"info","message":"OPTIONS /devices/98dbb14c-d63c-4048-ab3b-a42299ab8f17/websocket 200 1ms","method":"OPTIONS","requestID":"b95e99123f2acf161fee627d801ac191","responseTime":1,"status":200,"url":"/devices/98dbb14c-d63c-4048-ab3b-a42299ab8f17/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzOX0.2ZBDRAKTlvILp8oAsdOsGSZdnlBzA059RUN4-M67XLo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7bb56d7d1829ae53930fab8e5b89ec4d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:07:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c458e81e-cf22-468e-b2a7-3aa58f48d2ed/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c307b34bcc1d83f79481ff849673cb17"} device-1 | {"level":"info","message":"POST /devices/c458e81e-cf22-468e-b2a7-3aa58f48d2ed/websocket 200 23ms","method":"POST","requestID":"c307b34bcc1d83f79481ff849673cb17","responseTime":23,"status":200,"url":"/devices/c458e81e-cf22-468e-b2a7-3aa58f48d2ed/websocket"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:19Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.762525,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:19Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/98dbb14c-d63c-4048-ab3b-a42299ab8f17","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/98dbb14c-d63c-4048-ab3b-a42299ab8f17","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444039,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzOX0.2ZBDRAKTlvILp8oAsdOsGSZdnlBzA059RUN4-M67XLo"} 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":"7bb56d7d1829ae53930fab8e5b89ec4d"},"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":"08/Jul/2024:13:07:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/98dbb14c-d63c-4048-ab3b-a42299ab8f17/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.021","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7bb56d7d1829ae53930fab8e5b89ec4d"} device-1 | {"level":"info","message":"POST /devices/98dbb14c-d63c-4048-ab3b-a42299ab8f17/websocket 200 17ms","method":"POST","requestID":"7bb56d7d1829ae53930fab8e5b89ec4d","responseTime":17,"status":200,"url":"/devices/98dbb14c-d63c-4048-ab3b-a42299ab8f17/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/c458e81e-cf22-468e-b2a7-3aa58f48d2ed' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/98dbb14c-d63c-4048-ab3b-a42299ab8f17' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzOX0.2ZBDRAKTlvILp8oAsdOsGSZdnlBzA059RUN4-M67XLo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"628ca71a0371b46021233bdf22554aae","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:19Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.23744,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/98dbb14c-d63c-4048-ab3b-a42299ab8f17","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/98dbb14c-d63c-4048-ab3b-a42299ab8f17","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444039,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzOX0.2ZBDRAKTlvILp8oAsdOsGSZdnlBzA059RUN4-M67XLo"} 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":"628ca71a0371b46021233bdf22554aae"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98dbb14c-d63c-4048-ab3b-a42299ab8f17","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98dbb14c-d63c-4048-ab3b-a42299ab8f17","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:17.655227670Z"}]},"request_id":"bfb43773-c456-4ce4-9541-828705c25763","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444039.7225263} 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":"628ca71a0371b46021233bdf22554aae"},"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":"08/Jul/2024:13:07:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/98dbb14c-d63c-4048-ab3b-a42299ab8f17? 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":"628ca71a0371b46021233bdf22554aae"} device-1 | {"level":"info","message":"GET /devices/98dbb14c-d63c-4048-ab3b-a42299ab8f17? 200 12ms","method":"GET","requestID":"628ca71a0371b46021233bdf22554aae","responseTime":12,"status":200,"url":"/devices/98dbb14c-d63c-4048-ab3b-a42299ab8f17?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzOX0.2ZBDRAKTlvILp8oAsdOsGSZdnlBzA059RUN4-M67XLo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2bb3fe9e0772b7edfe2efd80b8807087","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:19Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.441681,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c458e81e-cf22-468e-b2a7-3aa58f48d2ed","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/c458e81e-cf22-468e-b2a7-3aa58f48d2ed","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444039,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzOX0.2ZBDRAKTlvILp8oAsdOsGSZdnlBzA059RUN4-M67XLo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2bb3fe9e0772b7edfe2efd80b8807087"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc458e81e-cf22-468e-b2a7-3aa58f48d2ed","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc458e81e-cf22-468e-b2a7-3aa58f48d2ed","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:17.708777179Z"}]},"request_id":"4edd8c51-12d0-4b40-b32c-187b26a8c44c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444039.7400727} 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":"2bb3fe9e0772b7edfe2efd80b8807087"},"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/c458e81e-cf22-468e-b2a7-3aa58f48d2ed? 200 13ms","method":"GET","requestID":"2bb3fe9e0772b7edfe2efd80b8807087","responseTime":13,"status":200,"url":"/devices/c458e81e-cf22-468e-b2a7-3aa58f48d2ed?"} gateway-1 | {"time_local":"08/Jul/2024:13:07:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c458e81e-cf22-468e-b2a7-3aa58f48d2ed? 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":"2bb3fe9e0772b7edfe2efd80b8807087"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzOX0.2ZBDRAKTlvILp8oAsdOsGSZdnlBzA059RUN4-M67XLo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"978701e8337c813f78470b1d080402f6","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:58600","level":"info","msg":"Received request.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:19Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.288163,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:19Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444039,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzOX0.2ZBDRAKTlvILp8oAsdOsGSZdnlBzA059RUN4-M67XLo"} 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":"978701e8337c813f78470b1d080402f6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ef453263-385a-4a9c-a3d6-39f93e3f7cf7"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ef453263-385a-4a9c-a3d6-39f93e3f7cf7"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ef453263-385a-4a9c-a3d6-39f93e3f7cf7"},"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:58600","level":"info","msg":"Received request.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:19Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.779748,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/98dbb14c-d63c-4048-ab3b-a42299ab8f17","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/98dbb14c-d63c-4048-ab3b-a42299ab8f17","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444039,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzOX0.2ZBDRAKTlvILp8oAsdOsGSZdnlBzA059RUN4-M67XLo"} 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":"01fa8ca0-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:47540","level":"info","msg":"Received request.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:19Z"} authorization-1 | {"client_addr":"127.0.0.1:47540","level":"info","msg":"Sent response.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.029505,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c458e81e-cf22-468e-b2a7-3aa58f48d2ed","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/c458e81e-cf22-468e-b2a7-3aa58f48d2ed","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444039,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzOX0.2ZBDRAKTlvILp8oAsdOsGSZdnlBzA059RUN4-M67XLo"} 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":"01fadac0-3d2b-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98dbb14c-d63c-4048-ab3b-a42299ab8f17","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98dbb14c-d63c-4048-ab3b-a42299ab8f17","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:17.655227670Z"}]},"request_id":"b6811670-bc5e-4dfc-a5b4-8a1a428dd8f7","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444039.794775} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"01fa8ca0-3d2b-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc458e81e-cf22-468e-b2a7-3aa58f48d2ed","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc458e81e-cf22-468e-b2a7-3aa58f48d2ed","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:17.708777179Z"}]},"request_id":"52ef6e16-70e4-46ee-9e26-250a7bb7f147","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444039.798614} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/98dbb14c-d63c-4048-ab3b-a42299ab8f17? 200 13ms","method":"GET","requestID":"01fa8ca0-3d2b-11ef-b23c-0125361f42d1","responseTime":13,"status":200,"url":"/devices/98dbb14c-d63c-4048-ab3b-a42299ab8f17?"} 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":"01fadac0-3d2b-11ef-b23c-0125361f42d1"},"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/c458e81e-cf22-468e-b2a7-3aa58f48d2ed? 200 13ms","method":"GET","requestID":"01fadac0-3d2b-11ef-b23c-0125361f42d1","responseTime":13,"status":200,"url":"/devices/c458e81e-cf22-468e-b2a7-3aa58f48d2ed?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ef453263-385a-4a9c-a3d6-39f93e3f7cf7"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ef453263-385a-4a9c-a3d6-39f93e3f7cf7"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ef453263-385a-4a9c-a3d6-39f93e3f7cf7"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ef453263-385a-4a9c-a3d6-39f93e3f7cf7"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ef453263-385a-4a9c-a3d6-39f93e3f7cf7"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ef453263-385a-4a9c-a3d6-39f93e3f7cf7"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ef453263-385a-4a9c-a3d6-39f93e3f7cf7"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ef453263-385a-4a9c-a3d6-39f93e3f7cf7"},"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/ef453263-385a-4a9c-a3d6-39f93e3f7cf7"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:19Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.049407,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/98dbb14c-d63c-4048-ab3b-a42299ab8f17","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/98dbb14c-d63c-4048-ab3b-a42299ab8f17","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444039,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzOX0.2ZBDRAKTlvILp8oAsdOsGSZdnlBzA059RUN4-M67XLo"} 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":"02033f30-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:47540","level":"info","msg":"Received request.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:19Z"} authorization-1 | {"client_addr":"127.0.0.1:47540","level":"info","msg":"Sent response.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.781663,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c458e81e-cf22-468e-b2a7-3aa58f48d2ed","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/c458e81e-cf22-468e-b2a7-3aa58f48d2ed","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444039,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzOX0.2ZBDRAKTlvILp8oAsdOsGSZdnlBzA059RUN4-M67XLo"} 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":"02038d50-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:19Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98dbb14c-d63c-4048-ab3b-a42299ab8f17","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e761f366-9ff4-42a9-9fb6-ee1a10192c96","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444039.8545759} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.106232,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/98dbb14c-d63c-4048-ab3b-a42299ab8f17","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/98dbb14c-d63c-4048-ab3b-a42299ab8f17","object_type":"device","rebac_allow":false,"scope_allow":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":"0203b460-3d2b-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc458e81e-cf22-468e-b2a7-3aa58f48d2ed","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc458e81e-cf22-468e-b2a7-3aa58f48d2ed","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:17.708777179Z"}]},"request_id":"25be41cf-b5bf-4f72-adc5-e51b7ca6c425","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444039.8571277} 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":"02038d50-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98dbb14c-d63c-4048-ab3b-a42299ab8f17","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98dbb14c-d63c-4048-ab3b-a42299ab8f17","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:17.655227670Z"}]},"request_id":"6e8d9ad5-ed67-41d3-9bd3-21f74f7b1e42","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444039.8597896} device-1 | {"level":"info","message":"POST /devices/98dbb14c-d63c-4048-ab3b-a42299ab8f17/signaling 200 15ms","method":"POST","requestID":"0203b460-3d2b-11ef-b23c-0125361f42d1","responseTime":15,"status":200,"url":"/devices/98dbb14c-d63c-4048-ab3b-a42299ab8f17/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":"02033f30-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/c458e81e-cf22-468e-b2a7-3aa58f48d2ed? 200 23ms","method":"GET","requestID":"02038d50-3d2b-11ef-b23c-0125361f42d1","responseTime":23,"status":200,"url":"/devices/c458e81e-cf22-468e-b2a7-3aa58f48d2ed?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/98dbb14c-d63c-4048-ab3b-a42299ab8f17? 200 25ms","method":"GET","requestID":"02033f30-3d2b-11ef-b23c-0125361f42d1","responseTime":26,"status":200,"url":"/devices/98dbb14c-d63c-4048-ab3b-a42299ab8f17?"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:19Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc458e81e-cf22-468e-b2a7-3aa58f48d2ed","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6f3d36da-3e00-4428-9c42-3caa3af7807a","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444039.8697278} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fef453263-385a-4a9c-a3d6-39f93e3f7cf7#owner@http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fef453263-385a-4a9c-a3d6-39f93e3f7cf7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"322c5668-4485-4181-94eb-15044eba1b85","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444039.8700502} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"877137f0-89c1-4f7f-b1c7-ffc27470280a","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444039.8703306} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.809241,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c458e81e-cf22-468e-b2a7-3aa58f48d2ed","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c458e81e-cf22-468e-b2a7-3aa58f48d2ed","object_type":"device","rebac_allow":false,"scope_allow":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":"02069a90-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} 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":"978701e8337c813f78470b1d080402f6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:19Z"} device-1 | {"level":"info","message":"POST /devices/c458e81e-cf22-468e-b2a7-3aa58f48d2ed/signaling 200 9ms","method":"POST","requestID":"02069a90-3d2b-11ef-b23c-0125361f42d1","responseTime":9,"status":200,"url":"/devices/c458e81e-cf22-468e-b2a7-3aa58f48d2ed/signaling"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98dbb14c-d63c-4048-ab3b-a42299ab8f17","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7a4894b4-3f53-4946-b5ca-1d9cceffcfdf","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444039.8767414} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.100275,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/98dbb14c-d63c-4048-ab3b-a42299ab8f17","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/98dbb14c-d63c-4048-ab3b-a42299ab8f17","object_type":"device","rebac_allow":false,"scope_allow":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":"020784f0-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/ef453263-385a-4a9c-a3d6-39f93e3f7cf7","user":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"08/Jul/2024:13:07:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.136","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"978701e8337c813f78470b1d080402f6"} experiment-1 | {"level":"info","message":"POST /experiments? 201 132ms","method":"POST","requestID":"978701e8337c813f78470b1d080402f6","responseTime":132,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/98dbb14c-d63c-4048-ab3b-a42299ab8f17/signaling 200 11ms","method":"POST","requestID":"020784f0-3d2b-11ef-b23c-0125361f42d1","responseTime":11,"status":200,"url":"/devices/98dbb14c-d63c-4048-ab3b-a42299ab8f17/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzOX0.2ZBDRAKTlvILp8oAsdOsGSZdnlBzA059RUN4-M67XLo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c4197af04f50a33def7a7da38a92eb12","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:19Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc458e81e-cf22-468e-b2a7-3aa58f48d2ed","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dcf5a9ba-1943-4cc9-bee1-ab322fc21288","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444039.8895278} authorization-1 | {"client_addr":"127.0.0.1:47540","level":"info","msg":"Received request.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:19Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.763169,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c458e81e-cf22-468e-b2a7-3aa58f48d2ed","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c458e81e-cf22-468e-b2a7-3aa58f48d2ed","object_type":"device","rebac_allow":false,"scope_allow":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":"020959b0-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:47540","level":"info","msg":"Sent response.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.711972,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/98dbb14c-d63c-4048-ab3b-a42299ab8f17","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/98dbb14c-d63c-4048-ab3b-a42299ab8f17","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444039,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzOX0.2ZBDRAKTlvILp8oAsdOsGSZdnlBzA059RUN4-M67XLo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c4197af04f50a33def7a7da38a92eb12"},"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/c458e81e-cf22-468e-b2a7-3aa58f48d2ed/signaling 200 12ms","method":"POST","requestID":"020959b0-3d2b-11ef-b23c-0125361f42d1","responseTime":12,"status":200,"url":"/devices/c458e81e-cf22-468e-b2a7-3aa58f48d2ed/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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98dbb14c-d63c-4048-ab3b-a42299ab8f17","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98dbb14c-d63c-4048-ab3b-a42299ab8f17","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:17.655227670Z"}]},"request_id":"25bcf8bb-2592-490c-856d-48c9e51a1b63","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444039.8961384} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ef453263-385a-4a9c-a3d6-39f93e3f7cf7"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ef453263-385a-4a9c-a3d6-39f93e3f7cf7"},"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":"bcac0da3-6b00-423e-b611-2cd409860ff8"},{"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":"eb7bacc2-b7dd-4c8d-aa0f-9a78ba8e09ce"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"925999e4-536d-4c25-8700-430791314474"}]},"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/c458e81e-cf22-468e-b2a7-3aa58f48d2ed"},{"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/98dbb14c-d63c-4048-ab3b-a42299ab8f17"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c4197af04f50a33def7a7da38a92eb12"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/98dbb14c-d63c-4048-ab3b-a42299ab8f17? 200 14ms","method":"GET","requestID":"c4197af04f50a33def7a7da38a92eb12","responseTime":14,"status":200,"url":"/devices/98dbb14c-d63c-4048-ab3b-a42299ab8f17?"} gateway-1 | {"time_local":"08/Jul/2024:13:07:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/98dbb14c-d63c-4048-ab3b-a42299ab8f17? 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":"c4197af04f50a33def7a7da38a92eb12"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:19Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.940127,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:19Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444039,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzOX0.2ZBDRAKTlvILp8oAsdOsGSZdnlBzA059RUN4-M67XLo"} 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":"020bcab0-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzOX0.2ZBDRAKTlvILp8oAsdOsGSZdnlBzA059RUN4-M67XLo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1847e2f408f5600f935a4b2d8d4f2466","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","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%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"f5e14263-b9ad-44f2-b707-76fbd1c71908","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444039.912375} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e40628a9-3462-4a45-ac02-478082a9a22b","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444039.912548} 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":"020bcab0-3d2b-11ef-b23c-0125361f42d1"},"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:58600","level":"info","msg":"Received request.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:19Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.945716,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c458e81e-cf22-468e-b2a7-3aa58f48d2ed","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/c458e81e-cf22-468e-b2a7-3aa58f48d2ed","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444039,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDAzOX0.2ZBDRAKTlvILp8oAsdOsGSZdnlBzA059RUN4-M67XLo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1847e2f408f5600f935a4b2d8d4f2466"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc458e81e-cf22-468e-b2a7-3aa58f48d2ed","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc458e81e-cf22-468e-b2a7-3aa58f48d2ed","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:17.708777179Z"}]},"request_id":"b18870ab-eda4-48ec-ad78-827f402d533a","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444039.9206772} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1847e2f408f5600f935a4b2d8d4f2466"},"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/8cff8aad-0f0f-4e66-9c7f-f7a20d6efab2'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/8cff8aad-0f0f-4e66-9c7f-f7a20d6efab2'"} 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":"020bcab0-3d2b-11ef-b23c-0125361f42d1","responseTime":30,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/c458e81e-cf22-468e-b2a7-3aa58f48d2ed? 200 21ms","method":"GET","requestID":"1847e2f408f5600f935a4b2d8d4f2466","responseTime":21,"status":200,"url":"/devices/c458e81e-cf22-468e-b2a7-3aa58f48d2ed?"} gateway-1 | {"time_local":"08/Jul/2024:13:07:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c458e81e-cf22-468e-b2a7-3aa58f48d2ed? 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":"1847e2f408f5600f935a4b2d8d4f2466"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ef453263-385a-4a9c-a3d6-39f93e3f7cf7"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:19Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98dbb14c-d63c-4048-ab3b-a42299ab8f17","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9313ea3d-2212-486d-a5c2-ea75886debdd","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444039.9601219} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.82737,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/98dbb14c-d63c-4048-ab3b-a42299ab8f17","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/98dbb14c-d63c-4048-ab3b-a42299ab8f17","object_type":"device","rebac_allow":false,"scope_allow":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":"02145630-3d2b-11ef-b23c-0125361f42d1"},"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/98dbb14c-d63c-4048-ab3b-a42299ab8f17/signaling 200 8ms","method":"POST","requestID":"02145630-3d2b-11ef-b23c-0125361f42d1","responseTime":8,"status":200,"url":"/devices/98dbb14c-d63c-4048-ab3b-a42299ab8f17/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:19Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc458e81e-cf22-468e-b2a7-3aa58f48d2ed","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8b017170-06e4-4fdd-85ad-cab44d78356c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444039.9708865} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.380842,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c458e81e-cf22-468e-b2a7-3aa58f48d2ed","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c458e81e-cf22-468e-b2a7-3aa58f48d2ed","object_type":"device","rebac_allow":false,"scope_allow":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":"021603e0-3d2b-11ef-b23c-0125361f42d1"},"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/c458e81e-cf22-468e-b2a7-3aa58f48d2ed/signaling 200 10ms","method":"POST","requestID":"021603e0-3d2b-11ef-b23c-0125361f42d1","responseTime":10,"status":200,"url":"/devices/c458e81e-cf22-468e-b2a7-3aa58f48d2ed/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/c458e81e-cf22-468e-b2a7-3aa58f48d2ed'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/c458e81e-cf22-468e-b2a7-3aa58f48d2ed'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/98dbb14c-d63c-4048-ab3b-a42299ab8f17'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/8cff8aad-0f0f-4e66-9c7f-f7a20d6efab2' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8cff8aad-0f0f-4e66-9c7f-f7a20d6efab2","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":"694c2bfbe8c900e4b3107f9e5fd15994","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/c458e81e-cf22-468e-b2a7-3aa58f48d2ed"},{"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/98dbb14c-d63c-4048-ab3b-a42299ab8f17"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/8cff8aad-0f0f-4e66-9c7f-f7a20d6efab2"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"694c2bfbe8c900e4b3107f9e5fd15994","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"694c2bfbe8c900e4b3107f9e5fd15994"} device-1 | {"data":{"peerconnection":"8cff8aad-0f0f-4e66-9c7f-f7a20d6efab2","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"8cff8aad-0f0f-4e66-9c7f-f7a20d6efab2","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/8cff8aad-0f0f-4e66-9c7f-f7a20d6efab2' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8cff8aad-0f0f-4e66-9c7f-f7a20d6efab2","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":"af71f31f4a9bc4a3e77729243e312009","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/c458e81e-cf22-468e-b2a7-3aa58f48d2ed"},{"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/98dbb14c-d63c-4048-ab3b-a42299ab8f17"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/8cff8aad-0f0f-4e66-9c7f-f7a20d6efab2"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:20Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8cff8aad-0f0f-4e66-9c7f-f7a20d6efab2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"891d0c17-ced3-4d33-b0b9-c9c4ce79886c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444040.0438068} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.027159,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/8cff8aad-0f0f-4e66-9c7f-f7a20d6efab2","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/8cff8aad-0f0f-4e66-9c7f-f7a20d6efab2","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":"02214e80-3d2b-11ef-b23c-0125361f42d1"},"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/8cff8aad-0f0f-4e66-9c7f-f7a20d6efab2 200 7ms","method":"GET","requestID":"02214e80-3d2b-11ef-b23c-0125361f42d1","responseTime":7,"status":200,"url":"/peerconnections/8cff8aad-0f0f-4e66-9c7f-f7a20d6efab2"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 30ms","method":"POST","requestID":"af71f31f4a9bc4a3e77729243e312009","responseTime":30,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.032","http_referrer":"","http_user_agent":"node-fetch","requestID":"af71f31f4a9bc4a3e77729243e312009"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:20Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc458e81e-cf22-468e-b2a7-3aa58f48d2ed","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"796c58f1-fddf-4936-946c-80074eef179d","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444040.070137} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.094397,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c458e81e-cf22-468e-b2a7-3aa58f48d2ed","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c458e81e-cf22-468e-b2a7-3aa58f48d2ed","object_type":"device","rebac_allow":false,"scope_allow":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":"02254620-3d2b-11ef-b23c-0125361f42d1"},"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/c458e81e-cf22-468e-b2a7-3aa58f48d2ed/signaling 200 7ms","method":"POST","requestID":"02254620-3d2b-11ef-b23c-0125361f42d1","responseTime":7,"status":200,"url":"/devices/c458e81e-cf22-468e-b2a7-3aa58f48d2ed/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:20Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98dbb14c-d63c-4048-ab3b-a42299ab8f17","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8836ed86-4143-46d7-adcd-61261ee67c23","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444040.0791965} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.114103,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/98dbb14c-d63c-4048-ab3b-a42299ab8f17","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/98dbb14c-d63c-4048-ab3b-a42299ab8f17","object_type":"device","rebac_allow":false,"scope_allow":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":"0226a5b0-3d2b-11ef-b23c-0125361f42d1"},"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/98dbb14c-d63c-4048-ab3b-a42299ab8f17/signaling 200 7ms","method":"POST","requestID":"0226a5b0-3d2b-11ef-b23c-0125361f42d1","responseTime":7,"status":200,"url":"/devices/98dbb14c-d63c-4048-ab3b-a42299ab8f17/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0MH0.hXMWUe4E7Y2q96G97UcUhd7LBWzmMuROhc8lD-d8hJQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2b8c8234cc5370846811a5b3ae317532","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/ef453263-385a-4a9c-a3d6-39f93e3f7cf7"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:20Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.011021,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ef453263-385a-4a9c-a3d6-39f93e3f7cf7","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/ef453263-385a-4a9c-a3d6-39f93e3f7cf7","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444040,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0MH0.hXMWUe4E7Y2q96G97UcUhd7LBWzmMuROhc8lD-d8hJQ"} 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":"2b8c8234cc5370846811a5b3ae317532"},"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/ef453263-385a-4a9c-a3d6-39f93e3f7cf7"} gateway-1 | {"time_local":"08/Jul/2024:13:07:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/ef453263-385a-4a9c-a3d6-39f93e3f7cf7 HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2b8c8234cc5370846811a5b3ae317532"} experiment-1 | {"level":"info","message":"GET /experiments/ef453263-385a-4a9c-a3d6-39f93e3f7cf7 200 13ms","method":"GET","requestID":"2b8c8234cc5370846811a5b3ae317532","responseTime":13,"status":200,"url":"/experiments/ef453263-385a-4a9c-a3d6-39f93e3f7cf7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0MH0.hXMWUe4E7Y2q96G97UcUhd7LBWzmMuROhc8lD-d8hJQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5cd20ed2c315c892a84f6a6155a02db0","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/ef453263-385a-4a9c-a3d6-39f93e3f7cf7"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:20Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.075699,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:20Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ef453263-385a-4a9c-a3d6-39f93e3f7cf7","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/ef453263-385a-4a9c-a3d6-39f93e3f7cf7","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444040,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0MH0.hXMWUe4E7Y2q96G97UcUhd7LBWzmMuROhc8lD-d8hJQ"} 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":"5cd20ed2c315c892a84f6a6155a02db0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ef453263-385a-4a9c-a3d6-39f93e3f7cf7"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:20Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.293954,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:20Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/8cff8aad-0f0f-4e66-9c7f-f7a20d6efab2","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:http://localhost/peerconnections/8cff8aad-0f0f-4e66-9c7f-f7a20d6efab2","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444040,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0MH0.hXMWUe4E7Y2q96G97UcUhd7LBWzmMuROhc8lD-d8hJQ"} 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":"02339e00-3d2b-11ef-b23c-0125361f42d1"},"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/8cff8aad-0f0f-4e66-9c7f-f7a20d6efab2' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/8cff8aad-0f0f-4e66-9c7f-f7a20d6efab2' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8cff8aad-0f0f-4e66-9c7f-f7a20d6efab2","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8cff8aad-0f0f-4e66-9c7f-f7a20d6efab2': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8cff8aad-0f0f-4e66-9c7f-f7a20d6efab2","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"477e4996-46fe-40d6-8546-2e0269e34bf8","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444040.1828969} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2e2bbd34-67ea-41d2-85e5-749ffebc2608","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444040.1831882} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1e5ee4ab9f93b203e82c65d803a939e0","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"02339e00-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"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/c458e81e-cf22-468e-b2a7-3aa58f48d2ed"},{"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/98dbb14c-d63c-4048-ab3b-a42299ab8f17"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/8cff8aad-0f0f-4e66-9c7f-f7a20d6efab2"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7ccf20f6aa96ccc70c990a83454cedc7","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/c458e81e-cf22-468e-b2a7-3aa58f48d2ed"},{"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/98dbb14c-d63c-4048-ab3b-a42299ab8f17"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/8cff8aad-0f0f-4e66-9c7f-f7a20d6efab2"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"8cff8aad-0f0f-4e66-9c7f-f7a20d6efab2","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/8cff8aad-0f0f-4e66-9c7f-f7a20d6efab2 204 46ms","method":"DELETE","requestID":"02339e00-3d2b-11ef-b23c-0125361f42d1","responseTime":46,"status":204,"url":"/peerconnections/8cff8aad-0f0f-4e66-9c7f-f7a20d6efab2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ef453263-385a-4a9c-a3d6-39f93e3f7cf7"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:20Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc458e81e-cf22-468e-b2a7-3aa58f48d2ed","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9b130406-2ab5-40d0-a997-61cca897961d","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444040.2387788} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.475492,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c458e81e-cf22-468e-b2a7-3aa58f48d2ed","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c458e81e-cf22-468e-b2a7-3aa58f48d2ed","object_type":"device","rebac_allow":false,"scope_allow":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":"023e7370-3d2b-11ef-b23c-0125361f42d1"},"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/c458e81e-cf22-468e-b2a7-3aa58f48d2ed/signaling 200 14ms","method":"POST","requestID":"023e7370-3d2b-11ef-b23c-0125361f42d1","responseTime":14,"status":200,"url":"/devices/c458e81e-cf22-468e-b2a7-3aa58f48d2ed/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fef453263-385a-4a9c-a3d6-39f93e3f7cf7': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fef453263-385a-4a9c-a3d6-39f93e3f7cf7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"fd5b4506-95c0-49a8-8e4f-ef490be6b4a0","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444040.2531931} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"370df840-ca62-47c1-b222-de4bf34231f3","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444040.2538447} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:20Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 29ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5cd20ed2c315c892a84f6a6155a02db0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":29}} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.430286,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:20Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98dbb14c-d63c-4048-ab3b-a42299ab8f17","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ae593535-5c14-418d-b10e-62b2ba8e635b","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444040.2578828} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/98dbb14c-d63c-4048-ab3b-a42299ab8f17","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/98dbb14c-d63c-4048-ab3b-a42299ab8f17","object_type":"device","rebac_allow":false,"scope_allow":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":"024159a0-3d2b-11ef-b23c-0125361f42d1"},"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/98dbb14c-d63c-4048-ab3b-a42299ab8f17/signaling 200 17ms","method":"POST","requestID":"024159a0-3d2b-11ef-b23c-0125361f42d1","responseTime":17,"status":200,"url":"/devices/98dbb14c-d63c-4048-ab3b-a42299ab8f17/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/ef453263-385a-4a9c-a3d6-39f93e3f7cf7"} gateway-1 | {"time_local":"08/Jul/2024:13:07:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/ef453263-385a-4a9c-a3d6-39f93e3f7cf7 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.177","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5cd20ed2c315c892a84f6a6155a02db0"} experiment-1 | {"level":"info","message":"DELETE /experiments/ef453263-385a-4a9c-a3d6-39f93e3f7cf7 204 174ms","method":"DELETE","requestID":"5cd20ed2c315c892a84f6a6155a02db0","responseTime":174,"status":204,"url":"/experiments/ef453263-385a-4a9c-a3d6-39f93e3f7cf7"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 137ms","method":"POST","requestID":"1e5ee4ab9f93b203e82c65d803a939e0","responseTime":137,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.142","http_referrer":"","http_user_agent":"node-fetch","requestID":"1e5ee4ab9f93b203e82c65d803a939e0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 135ms","method":"POST","requestID":"7ccf20f6aa96ccc70c990a83454cedc7","responseTime":135,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.143","http_referrer":"","http_user_agent":"node-fetch","requestID":"7ccf20f6aa96ccc70c990a83454cedc7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0MH0.hXMWUe4E7Y2q96G97UcUhd7LBWzmMuROhc8lD-d8hJQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"5a530814f48a30b54abd35475fe97a5e","responseTime":8,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:07:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2848","request_time":"0.653","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5260188126e12912a9d7dd267a9e39e9"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:20Z"} gateway-1 | {"time_local":"08/Jul/2024:13:07:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2850","request_time":"0.645","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"02943074803575186d8c0dc625d006fb"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":2.683105,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444040,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0MH0.hXMWUe4E7Y2q96G97UcUhd7LBWzmMuROhc8lD-d8hJQ"} 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":"5a530814f48a30b54abd35475fe97a5e"},"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/c458e81e-cf22-468e-b2a7-3aa58f48d2ed' 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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F361fef03-31c9-4e87-bd59-5b8445dbb15c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4aa33d54-da11-4f43-b20e-22323e9b1c37","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444040.3528392} 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":"5a530814f48a30b54abd35475fe97a5e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/98dbb14c-d63c-4048-ab3b-a42299ab8f17' 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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1b937f14-b746-4ed1-a170-a36d31f6cdb7","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444040.3574405} 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":"5a530814f48a30b54abd35475fe97a5e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F361fef03-31c9-4e87-bd59-5b8445dbb15c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"77e49d3c-2222-41f9-b440-711886dc44d7","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444040.3683743} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1fe8767f-928c-402a-af80-d66ac55565e8","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444040.3686626} 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":"5a530814f48a30b54abd35475fe97a5e"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F361fef03-31c9-4e87-bd59-5b8445dbb15c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F361fef03-31c9-4e87-bd59-5b8445dbb15c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:20.368352954Z"}]},"request_id":"9279cbe9-d244-43e7-9614-e5a8423ba5cc","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444040.372652} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5a530814f48a30b54abd35475fe97a5e"},"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":"5a530814f48a30b54abd35475fe97a5e","responseTime":44,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/Jul/2024:13:07:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5a530814f48a30b54abd35475fe97a5e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0MH0.hXMWUe4E7Y2q96G97UcUhd7LBWzmMuROhc8lD-d8hJQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2adbea9f0a6b874d53db3ea09f4790fd","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:20Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.653347,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444040,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0MH0.hXMWUe4E7Y2q96G97UcUhd7LBWzmMuROhc8lD-d8hJQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2adbea9f0a6b874d53db3ea09f4790fd"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33229750-20d7-4087-9f27-3e35489c4bbb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"23af56fd-fff6-4e39-898d-58c3884e60f5","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444040.4012616} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2adbea9f0a6b874d53db3ea09f4790fd"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0d4db791-b6f3-4311-8bf1-d59472f1df3d","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444040.4053924} 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":"2adbea9f0a6b874d53db3ea09f4790fd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33229750-20d7-4087-9f27-3e35489c4bbb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"989b5fc3-230c-43da-9d48-dca17256a5df","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444040.4157183} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3f2cbfbf-5c40-4676-95cd-28b2adeb5ef1","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444040.4158766} 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":"2adbea9f0a6b874d53db3ea09f4790fd"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33229750-20d7-4087-9f27-3e35489c4bbb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33229750-20d7-4087-9f27-3e35489c4bbb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:20.415697837Z"}]},"request_id":"c28751e1-b459-4419-a00c-b8742d934a27","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444040.4192781} 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":"2adbea9f0a6b874d53db3ea09f4790fd"},"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 41ms","method":"POST","requestID":"2adbea9f0a6b874d53db3ea09f4790fd","responseTime":41,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/Jul/2024:13:07:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2adbea9f0a6b874d53db3ea09f4790fd"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ae258eca80e496b13f11a69b3566ccc7","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:07:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/33229750-20d7-4087-9f27-3e35489c4bbb/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":"ae258eca80e496b13f11a69b3566ccc7"} device-1 | {"level":"info","message":"OPTIONS /devices/33229750-20d7-4087-9f27-3e35489c4bbb/websocket 200 1ms","method":"OPTIONS","requestID":"ae258eca80e496b13f11a69b3566ccc7","responseTime":1,"status":200,"url":"/devices/33229750-20d7-4087-9f27-3e35489c4bbb/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0Mn0.aqZ9VPlQO60Lq_OekLTSj9yOArhWhQUZt481ivRG07o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"60a4bd81226f70b6741be7c04b78ec90","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"21eb1b3a38c7eb7fb236f06abeca6c14","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"OPTIONS /devices/361fef03-31c9-4e87-bd59-5b8445dbb15c/websocket 200 1ms","method":"OPTIONS","requestID":"21eb1b3a38c7eb7fb236f06abeca6c14","responseTime":1,"status":200,"url":"/devices/361fef03-31c9-4e87-bd59-5b8445dbb15c/websocket"} gateway-1 | {"time_local":"08/Jul/2024:13:07:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/361fef03-31c9-4e87-bd59-5b8445dbb15c/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":"21eb1b3a38c7eb7fb236f06abeca6c14"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:22Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.711575,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:22Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/33229750-20d7-4087-9f27-3e35489c4bbb","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/33229750-20d7-4087-9f27-3e35489c4bbb","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444042,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0Mn0.aqZ9VPlQO60Lq_OekLTSj9yOArhWhQUZt481ivRG07o"} 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":"60a4bd81226f70b6741be7c04b78ec90"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0Mn0.aqZ9VPlQO60Lq_OekLTSj9yOArhWhQUZt481ivRG07o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9e76b36c436ee2d268dcf11b783c8da9","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:22Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.246403,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:22Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/361fef03-31c9-4e87-bd59-5b8445dbb15c","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/361fef03-31c9-4e87-bd59-5b8445dbb15c","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444042,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0Mn0.aqZ9VPlQO60Lq_OekLTSj9yOArhWhQUZt481ivRG07o"} 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":"9e76b36c436ee2d268dcf11b783c8da9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/33229750-20d7-4087-9f27-3e35489c4bbb/websocket 200 22ms","method":"POST","requestID":"60a4bd81226f70b6741be7c04b78ec90","responseTime":22,"status":200,"url":"/devices/33229750-20d7-4087-9f27-3e35489c4bbb/websocket"} gateway-1 | {"time_local":"08/Jul/2024:13:07:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/33229750-20d7-4087-9f27-3e35489c4bbb/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"60a4bd81226f70b6741be7c04b78ec90"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:07:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/361fef03-31c9-4e87-bd59-5b8445dbb15c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9e76b36c436ee2d268dcf11b783c8da9"} device-1 | {"level":"info","message":"POST /devices/361fef03-31c9-4e87-bd59-5b8445dbb15c/websocket 200 22ms","method":"POST","requestID":"9e76b36c436ee2d268dcf11b783c8da9","responseTime":22,"status":200,"url":"/devices/361fef03-31c9-4e87-bd59-5b8445dbb15c/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/33229750-20d7-4087-9f27-3e35489c4bbb' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/361fef03-31c9-4e87-bd59-5b8445dbb15c' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0Mn0.aqZ9VPlQO60Lq_OekLTSj9yOArhWhQUZt481ivRG07o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"28204385bc054eb342fe361e9c8e22b3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:22Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.695414,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/361fef03-31c9-4e87-bd59-5b8445dbb15c","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/361fef03-31c9-4e87-bd59-5b8445dbb15c","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444042,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0Mn0.aqZ9VPlQO60Lq_OekLTSj9yOArhWhQUZt481ivRG07o"} 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":"28204385bc054eb342fe361e9c8e22b3"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F361fef03-31c9-4e87-bd59-5b8445dbb15c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F361fef03-31c9-4e87-bd59-5b8445dbb15c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:20.368352954Z"}]},"request_id":"510c76e3-24c3-46e7-a877-a8dbe3b42ba3","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444042.4392369} 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":"28204385bc054eb342fe361e9c8e22b3"},"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/361fef03-31c9-4e87-bd59-5b8445dbb15c? 200 11ms","method":"GET","requestID":"28204385bc054eb342fe361e9c8e22b3","responseTime":11,"status":200,"url":"/devices/361fef03-31c9-4e87-bd59-5b8445dbb15c?"} gateway-1 | {"time_local":"08/Jul/2024:13:07:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/361fef03-31c9-4e87-bd59-5b8445dbb15c? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"28204385bc054eb342fe361e9c8e22b3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0Mn0.aqZ9VPlQO60Lq_OekLTSj9yOArhWhQUZt481ivRG07o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"014249dbb0f7a723b2f5028ae7a159fe","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:22Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.748948,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/33229750-20d7-4087-9f27-3e35489c4bbb","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/33229750-20d7-4087-9f27-3e35489c4bbb","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444042,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0Mn0.aqZ9VPlQO60Lq_OekLTSj9yOArhWhQUZt481ivRG07o"} 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":"014249dbb0f7a723b2f5028ae7a159fe"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33229750-20d7-4087-9f27-3e35489c4bbb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33229750-20d7-4087-9f27-3e35489c4bbb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:20.415697837Z"}]},"request_id":"0dfea3a8-4c31-4314-bba5-1f1e5f82b0ff","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444042.4561737} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"014249dbb0f7a723b2f5028ae7a159fe"},"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":"08/Jul/2024:13:07:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/33229750-20d7-4087-9f27-3e35489c4bbb? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"014249dbb0f7a723b2f5028ae7a159fe"} device-1 | {"level":"info","message":"GET /devices/33229750-20d7-4087-9f27-3e35489c4bbb? 200 12ms","method":"GET","requestID":"014249dbb0f7a723b2f5028ae7a159fe","responseTime":12,"status":200,"url":"/devices/33229750-20d7-4087-9f27-3e35489c4bbb?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0Mn0.aqZ9VPlQO60Lq_OekLTSj9yOArhWhQUZt481ivRG07o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5ba08a2d021be2816996dcdd1d0f48cc","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:58600","level":"info","msg":"Received request.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:22Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.219963,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:22Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444042,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0Mn0.aqZ9VPlQO60Lq_OekLTSj9yOArhWhQUZt481ivRG07o"} 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":"5ba08a2d021be2816996dcdd1d0f48cc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7b42b9ad-b851-42e6-95b2-d4c5662fe542"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7b42b9ad-b851-42e6-95b2-d4c5662fe542"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7b42b9ad-b851-42e6-95b2-d4c5662fe542"},"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:58600","level":"info","msg":"Received request.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:22Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.029704,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/361fef03-31c9-4e87-bd59-5b8445dbb15c","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/361fef03-31c9-4e87-bd59-5b8445dbb15c","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444042,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0Mn0.aqZ9VPlQO60Lq_OekLTSj9yOArhWhQUZt481ivRG07o"} 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":"03996f90-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:47540","level":"info","msg":"Received request.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:22Z"} authorization-1 | {"client_addr":"127.0.0.1:47540","level":"info","msg":"Sent response.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.795608,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/33229750-20d7-4087-9f27-3e35489c4bbb","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/33229750-20d7-4087-9f27-3e35489c4bbb","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444042,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0Mn0.aqZ9VPlQO60Lq_OekLTSj9yOArhWhQUZt481ivRG07o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"039996a0-3d2b-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F361fef03-31c9-4e87-bd59-5b8445dbb15c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F361fef03-31c9-4e87-bd59-5b8445dbb15c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:20.368352954Z"}]},"request_id":"79d29e4a-6afe-4038-a966-0fd8adaee5c2","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444042.5137084} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"03996f90-3d2b-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33229750-20d7-4087-9f27-3e35489c4bbb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33229750-20d7-4087-9f27-3e35489c4bbb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:20.415697837Z"}]},"request_id":"7f7ff991-17b0-480d-acd6-336fbcb77d28","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444042.514428} 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":"039996a0-3d2b-11ef-b23c-0125361f42d1"},"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/361fef03-31c9-4e87-bd59-5b8445dbb15c? 200 16ms","method":"GET","requestID":"03996f90-3d2b-11ef-b23c-0125361f42d1","responseTime":16,"status":200,"url":"/devices/361fef03-31c9-4e87-bd59-5b8445dbb15c?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/33229750-20d7-4087-9f27-3e35489c4bbb? 200 16ms","method":"GET","requestID":"039996a0-3d2b-11ef-b23c-0125361f42d1","responseTime":16,"status":200,"url":"/devices/33229750-20d7-4087-9f27-3e35489c4bbb?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7b42b9ad-b851-42e6-95b2-d4c5662fe542"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7b42b9ad-b851-42e6-95b2-d4c5662fe542"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7b42b9ad-b851-42e6-95b2-d4c5662fe542"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7b42b9ad-b851-42e6-95b2-d4c5662fe542"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7b42b9ad-b851-42e6-95b2-d4c5662fe542"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7b42b9ad-b851-42e6-95b2-d4c5662fe542"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7b42b9ad-b851-42e6-95b2-d4c5662fe542"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7b42b9ad-b851-42e6-95b2-d4c5662fe542"},"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/7b42b9ad-b851-42e6-95b2-d4c5662fe542"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:22Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.755035,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:22Z"} authorization-1 | {"client_addr":"127.0.0.1:47540","level":"info","msg":"Received request.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:22Z"} authorization-1 | {"client_addr":"127.0.0.1:47540","level":"info","msg":"Sent response.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.555715,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/361fef03-31c9-4e87-bd59-5b8445dbb15c","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/361fef03-31c9-4e87-bd59-5b8445dbb15c","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444042,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0Mn0.aqZ9VPlQO60Lq_OekLTSj9yOArhWhQUZt481ivRG07o"} 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":"03a27040-3d2b-11ef-b23c-0125361f42d1"},"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/33229750-20d7-4087-9f27-3e35489c4bbb","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/33229750-20d7-4087-9f27-3e35489c4bbb","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444042,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0Mn0.aqZ9VPlQO60Lq_OekLTSj9yOArhWhQUZt481ivRG07o"} 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":"03a2be60-3d2b-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F361fef03-31c9-4e87-bd59-5b8445dbb15c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F361fef03-31c9-4e87-bd59-5b8445dbb15c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:20.368352954Z"}]},"request_id":"f819312b-c205-4300-b793-0209bd39c81f","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444042.5780964} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33229750-20d7-4087-9f27-3e35489c4bbb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33229750-20d7-4087-9f27-3e35489c4bbb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:20.415697837Z"}]},"request_id":"a47ae21f-b37a-4b46-9e66-defb2560c255","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444042.5790977} 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":"03a27040-3d2b-11ef-b23c-0125361f42d1"},"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:47752","level":"info","msg":"Received request.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:22Z"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"03a2be60-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F361fef03-31c9-4e87-bd59-5b8445dbb15c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"913b76ae-eb0a-4127-9553-a76256981612","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444042.581576} authorization-1 | {"client_addr":"127.0.0.1:47752","level":"info","msg":"Sent response.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.136344,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/361fef03-31c9-4e87-bd59-5b8445dbb15c","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/361fef03-31c9-4e87-bd59-5b8445dbb15c","object_type":"device","rebac_allow":false,"scope_allow":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":"03a2e570-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":14}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/361fef03-31c9-4e87-bd59-5b8445dbb15c? 200 22ms","method":"GET","requestID":"03a27040-3d2b-11ef-b23c-0125361f42d1","responseTime":22,"status":200,"url":"/devices/361fef03-31c9-4e87-bd59-5b8445dbb15c?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/33229750-20d7-4087-9f27-3e35489c4bbb? 200 21ms","method":"GET","requestID":"03a2be60-3d2b-11ef-b23c-0125361f42d1","responseTime":21,"status":200,"url":"/devices/33229750-20d7-4087-9f27-3e35489c4bbb?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/361fef03-31c9-4e87-bd59-5b8445dbb15c/signaling 200 21ms","method":"POST","requestID":"03a2e570-3d2b-11ef-b23c-0125361f42d1","responseTime":21,"status":200,"url":"/devices/361fef03-31c9-4e87-bd59-5b8445dbb15c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7b42b9ad-b851-42e6-95b2-d4c5662fe542#owner@http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7b42b9ad-b851-42e6-95b2-d4c5662fe542","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"ee584114-7d13-4b2e-a527-6c9cdb972e72","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444042.5909681} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"39d4fcd6-215c-4509-84f2-0e4373be20e2","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444042.5913205} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:22Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":1.996287,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:22Z"} authorization-1 | {"client_addr":"127.0.0.1:47540","level":"info","msg":"Received request.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:22Z"} 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":"5ba08a2d021be2816996dcdd1d0f48cc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":23}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F361fef03-31c9-4e87-bd59-5b8445dbb15c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0a14460e-76b7-4c08-95a2-4fb8da0c75c4","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444042.5933883} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/361fef03-31c9-4e87-bd59-5b8445dbb15c","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/361fef03-31c9-4e87-bd59-5b8445dbb15c","object_type":"device","rebac_allow":false,"scope_allow":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":"03a640d0-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33229750-20d7-4087-9f27-3e35489c4bbb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"473bc66b-1ac7-4bf2-a55b-ed800b450db7","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444042.5970957} authorization-1 | {"client_addr":"127.0.0.1:47540","level":"info","msg":"Sent response.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.232112,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/33229750-20d7-4087-9f27-3e35489c4bbb","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/33229750-20d7-4087-9f27-3e35489c4bbb","object_type":"device","rebac_allow":false,"scope_allow":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":"03a667e0-3d2b-11ef-b23c-0125361f42d1"},"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/361fef03-31c9-4e87-bd59-5b8445dbb15c/signaling 200 12ms","method":"POST","requestID":"03a640d0-3d2b-11ef-b23c-0125361f42d1","responseTime":12,"status":200,"url":"/devices/361fef03-31c9-4e87-bd59-5b8445dbb15c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/7b42b9ad-b851-42e6-95b2-d4c5662fe542","user":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"POST /devices/33229750-20d7-4087-9f27-3e35489c4bbb/signaling 200 12ms","method":"POST","requestID":"03a667e0-3d2b-11ef-b23c-0125361f42d1","responseTime":12,"status":200,"url":"/devices/33229750-20d7-4087-9f27-3e35489c4bbb/signaling"} gateway-1 | {"time_local":"08/Jul/2024:13:07:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.142","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5ba08a2d021be2816996dcdd1d0f48cc"} experiment-1 | {"level":"info","message":"POST /experiments? 201 138ms","method":"POST","requestID":"5ba08a2d021be2816996dcdd1d0f48cc","responseTime":138,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0Mn0.aqZ9VPlQO60Lq_OekLTSj9yOArhWhQUZt481ivRG07o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3396bfd330e12f654d1218fddebf1ebb","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:22Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33229750-20d7-4087-9f27-3e35489c4bbb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0e88a8b1-9216-49d1-987f-1a36d20dbf58","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444042.6085358} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.391577,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:22Z"} authorization-1 | {"client_addr":"127.0.0.1:47540","level":"info","msg":"Received request.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/33229750-20d7-4087-9f27-3e35489c4bbb","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/33229750-20d7-4087-9f27-3e35489c4bbb","object_type":"device","rebac_allow":false,"scope_allow":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":"03a88ac0-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:47540","level":"info","msg":"Sent response.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.595198,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/361fef03-31c9-4e87-bd59-5b8445dbb15c","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/361fef03-31c9-4e87-bd59-5b8445dbb15c","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444042,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0Mn0.aqZ9VPlQO60Lq_OekLTSj9yOArhWhQUZt481ivRG07o"} 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":"3396bfd330e12f654d1218fddebf1ebb"},"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/33229750-20d7-4087-9f27-3e35489c4bbb/signaling 200 10ms","method":"POST","requestID":"03a88ac0-3d2b-11ef-b23c-0125361f42d1","responseTime":10,"status":200,"url":"/devices/33229750-20d7-4087-9f27-3e35489c4bbb/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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F361fef03-31c9-4e87-bd59-5b8445dbb15c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F361fef03-31c9-4e87-bd59-5b8445dbb15c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:20.368352954Z"}]},"request_id":"44d9313d-62f4-4458-bafc-34bea403a1b3","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444042.614569} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7b42b9ad-b851-42e6-95b2-d4c5662fe542"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7b42b9ad-b851-42e6-95b2-d4c5662fe542"},"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":"352bd0ed-7977-4754-b680-71a5dd9ae720"},{"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":"d8c23673-e0e9-4947-8261-2f02b705a2f5"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"4a3a36ad-bb02-44cf-a5d6-6d1cbdd1d183"}]},"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/33229750-20d7-4087-9f27-3e35489c4bbb"},{"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/361fef03-31c9-4e87-bd59-5b8445dbb15c"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3396bfd330e12f654d1218fddebf1ebb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:07:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/361fef03-31c9-4e87-bd59-5b8445dbb15c? 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":"3396bfd330e12f654d1218fddebf1ebb"} device-1 | {"level":"info","message":"GET /devices/361fef03-31c9-4e87-bd59-5b8445dbb15c? 200 12ms","method":"GET","requestID":"3396bfd330e12f654d1218fddebf1ebb","responseTime":12,"status":200,"url":"/devices/361fef03-31c9-4e87-bd59-5b8445dbb15c?"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:22Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.715314,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:22Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444042,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0Mn0.aqZ9VPlQO60Lq_OekLTSj9yOArhWhQUZt481ivRG07o"} 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":"03aa8690-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0Mn0.aqZ9VPlQO60Lq_OekLTSj9yOArhWhQUZt481ivRG07o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"20ebc01cbc842e0159cd9bb1e903ba12","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:22Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.671875,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/33229750-20d7-4087-9f27-3e35489c4bbb","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/33229750-20d7-4087-9f27-3e35489c4bbb","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444042,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0Mn0.aqZ9VPlQO60Lq_OekLTSj9yOArhWhQUZt481ivRG07o"} 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":"20ebc01cbc842e0159cd9bb1e903ba12"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","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%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"6d0aaa6a-b052-4977-b2e8-1236c3d284f8","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444042.6283906} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0fa6071a-ff52-4b73-8337-332cef62648e","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444042.6286576} 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":"03aa8690-3d2b-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33229750-20d7-4087-9f27-3e35489c4bbb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33229750-20d7-4087-9f27-3e35489c4bbb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:20.415697837Z"}]},"request_id":"5b7f1836-05bf-4912-95fd-a60ec944a0d7","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444042.6322377} 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":"20ebc01cbc842e0159cd9bb1e903ba12"},"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/fa04550f-5e42-43fe-9f12-b6b5f9fd4a30'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/fa04550f-5e42-43fe-9f12-b6b5f9fd4a30'"} 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 26ms","method":"POST","requestID":"03aa8690-3d2b-11ef-b23c-0125361f42d1","responseTime":26,"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/33229750-20d7-4087-9f27-3e35489c4bbb? 200 18ms","method":"GET","requestID":"20ebc01cbc842e0159cd9bb1e903ba12","responseTime":18,"status":200,"url":"/devices/33229750-20d7-4087-9f27-3e35489c4bbb?"} gateway-1 | {"time_local":"08/Jul/2024:13:07:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/33229750-20d7-4087-9f27-3e35489c4bbb? 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":"20ebc01cbc842e0159cd9bb1e903ba12"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7b42b9ad-b851-42e6-95b2-d4c5662fe542"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:22Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F361fef03-31c9-4e87-bd59-5b8445dbb15c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e28160dd-cfc9-4b83-92a1-02febf12d1bf","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444042.6700673} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.668662,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/361fef03-31c9-4e87-bd59-5b8445dbb15c","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/361fef03-31c9-4e87-bd59-5b8445dbb15c","object_type":"device","rebac_allow":false,"scope_allow":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":"03b1d990-3d2b-11ef-b23c-0125361f42d1"},"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/361fef03-31c9-4e87-bd59-5b8445dbb15c/signaling 200 10ms","method":"POST","requestID":"03b1d990-3d2b-11ef-b23c-0125361f42d1","responseTime":10,"status":200,"url":"/devices/361fef03-31c9-4e87-bd59-5b8445dbb15c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:22Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33229750-20d7-4087-9f27-3e35489c4bbb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"92bb5eab-fec4-47bb-aebb-39272a9c7795","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444042.6820047} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.615682,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/33229750-20d7-4087-9f27-3e35489c4bbb","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/33229750-20d7-4087-9f27-3e35489c4bbb","object_type":"device","rebac_allow":false,"scope_allow":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":"03b3ae50-3d2b-11ef-b23c-0125361f42d1"},"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/33229750-20d7-4087-9f27-3e35489c4bbb/signaling 200 10ms","method":"POST","requestID":"03b3ae50-3d2b-11ef-b23c-0125361f42d1","responseTime":10,"status":200,"url":"/devices/33229750-20d7-4087-9f27-3e35489c4bbb/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/33229750-20d7-4087-9f27-3e35489c4bbb'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/33229750-20d7-4087-9f27-3e35489c4bbb'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/361fef03-31c9-4e87-bd59-5b8445dbb15c'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/fa04550f-5e42-43fe-9f12-b6b5f9fd4a30' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"fa04550f-5e42-43fe-9f12-b6b5f9fd4a30","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":"f24d8f2f2d86ffc02fe40880b2a6ecd6","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/33229750-20d7-4087-9f27-3e35489c4bbb"},{"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/361fef03-31c9-4e87-bd59-5b8445dbb15c"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/fa04550f-5e42-43fe-9f12-b6b5f9fd4a30"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"f24d8f2f2d86ffc02fe40880b2a6ecd6","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"f24d8f2f2d86ffc02fe40880b2a6ecd6"} device-1 | {"data":{"peerconnection":"fa04550f-5e42-43fe-9f12-b6b5f9fd4a30","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"fa04550f-5e42-43fe-9f12-b6b5f9fd4a30","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/fa04550f-5e42-43fe-9f12-b6b5f9fd4a30' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"fa04550f-5e42-43fe-9f12-b6b5f9fd4a30","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":"d9eda7312bbd997ccf12a1902a096c22","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/33229750-20d7-4087-9f27-3e35489c4bbb"},{"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/361fef03-31c9-4e87-bd59-5b8445dbb15c"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/fa04550f-5e42-43fe-9f12-b6b5f9fd4a30"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:22Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ffa04550f-5e42-43fe-9f12-b6b5f9fd4a30","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ad9f7491-77ca-4acd-bc99-ebf2e381a355","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444042.752529} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":1.99516,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/fa04550f-5e42-43fe-9f12-b6b5f9fd4a30","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/fa04550f-5e42-43fe-9f12-b6b5f9fd4a30","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 3ms","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":"03be83c0-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/fa04550f-5e42-43fe-9f12-b6b5f9fd4a30 200 7ms","method":"GET","requestID":"03be83c0-3d2b-11ef-b23c-0125361f42d1","responseTime":7,"status":200,"url":"/peerconnections/fa04550f-5e42-43fe-9f12-b6b5f9fd4a30"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 29ms","method":"POST","requestID":"d9eda7312bbd997ccf12a1902a096c22","responseTime":29,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.031","http_referrer":"","http_user_agent":"node-fetch","requestID":"d9eda7312bbd997ccf12a1902a096c22"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:22Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33229750-20d7-4087-9f27-3e35489c4bbb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7f60f2f8-3f41-40eb-a31d-c90b5daa41d4","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444042.7780664} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.18722,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/33229750-20d7-4087-9f27-3e35489c4bbb","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/33229750-20d7-4087-9f27-3e35489c4bbb","object_type":"device","rebac_allow":false,"scope_allow":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":"03c27b60-3d2b-11ef-b23c-0125361f42d1"},"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/33229750-20d7-4087-9f27-3e35489c4bbb/signaling 200 7ms","method":"POST","requestID":"03c27b60-3d2b-11ef-b23c-0125361f42d1","responseTime":7,"status":200,"url":"/devices/33229750-20d7-4087-9f27-3e35489c4bbb/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:22Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F361fef03-31c9-4e87-bd59-5b8445dbb15c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9bb05379-bf48-4107-a499-4fad14d7395b","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444042.7872078} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.071419,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/361fef03-31c9-4e87-bd59-5b8445dbb15c","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/361fef03-31c9-4e87-bd59-5b8445dbb15c","object_type":"device","rebac_allow":false,"scope_allow":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":"03c3daf0-3d2b-11ef-b23c-0125361f42d1"},"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/361fef03-31c9-4e87-bd59-5b8445dbb15c/signaling 200 7ms","method":"POST","requestID":"03c3daf0-3d2b-11ef-b23c-0125361f42d1","responseTime":7,"status":200,"url":"/devices/361fef03-31c9-4e87-bd59-5b8445dbb15c/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0Mn0.aqZ9VPlQO60Lq_OekLTSj9yOArhWhQUZt481ivRG07o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"973151b7990e682d3652bee37b1c8e29","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/7b42b9ad-b851-42e6-95b2-d4c5662fe542"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:22Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.817343,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7b42b9ad-b851-42e6-95b2-d4c5662fe542","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/7b42b9ad-b851-42e6-95b2-d4c5662fe542","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444042,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0Mn0.aqZ9VPlQO60Lq_OekLTSj9yOArhWhQUZt481ivRG07o"} 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":"973151b7990e682d3652bee37b1c8e29"},"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/7b42b9ad-b851-42e6-95b2-d4c5662fe542"} gateway-1 | {"time_local":"08/Jul/2024:13:07:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/7b42b9ad-b851-42e6-95b2-d4c5662fe542 HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"973151b7990e682d3652bee37b1c8e29"} experiment-1 | {"level":"info","message":"GET /experiments/7b42b9ad-b851-42e6-95b2-d4c5662fe542 200 16ms","method":"GET","requestID":"973151b7990e682d3652bee37b1c8e29","responseTime":16,"status":200,"url":"/experiments/7b42b9ad-b851-42e6-95b2-d4c5662fe542"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0Mn0.aqZ9VPlQO60Lq_OekLTSj9yOArhWhQUZt481ivRG07o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"52af47e3ad7b49072e4336225305d6b2","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/7b42b9ad-b851-42e6-95b2-d4c5662fe542"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:22Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.697146,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:22Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7b42b9ad-b851-42e6-95b2-d4c5662fe542","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/7b42b9ad-b851-42e6-95b2-d4c5662fe542","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444042,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0Mn0.aqZ9VPlQO60Lq_OekLTSj9yOArhWhQUZt481ivRG07o"} 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":"52af47e3ad7b49072e4336225305d6b2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7b42b9ad-b851-42e6-95b2-d4c5662fe542"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:22Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.214696,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:22Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/fa04550f-5e42-43fe-9f12-b6b5f9fd4a30","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:http://localhost/peerconnections/fa04550f-5e42-43fe-9f12-b6b5f9fd4a30","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444042,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0Mn0.aqZ9VPlQO60Lq_OekLTSj9yOArhWhQUZt481ivRG07o"} 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":"03d1bda0-3d2b-11ef-b23c-0125361f42d1"},"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/fa04550f-5e42-43fe-9f12-b6b5f9fd4a30' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/fa04550f-5e42-43fe-9f12-b6b5f9fd4a30' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"fa04550f-5e42-43fe-9f12-b6b5f9fd4a30","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":"61176fe2440728657f15c3252e673df6","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":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ffa04550f-5e42-43fe-9f12-b6b5f9fd4a30': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ffa04550f-5e42-43fe-9f12-b6b5f9fd4a30","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"0b0b54dc-11bd-413b-9322-578f63749430","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444042.9007666} 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/33229750-20d7-4087-9f27-3e35489c4bbb"},{"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/361fef03-31c9-4e87-bd59-5b8445dbb15c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/fa04550f-5e42-43fe-9f12-b6b5f9fd4a30"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c9c2aa8d72a5427088b3879317f4b64b","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/33229750-20d7-4087-9f27-3e35489c4bbb"},{"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/361fef03-31c9-4e87-bd59-5b8445dbb15c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/fa04550f-5e42-43fe-9f12-b6b5f9fd4a30"}}},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"67614df7-8ab4-4c2f-b712-591e027ef7cc","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444042.901382} 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":"03d1bda0-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} device-1 | {"data":{"peerconnection":"fa04550f-5e42-43fe-9f12-b6b5f9fd4a30","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/fa04550f-5e42-43fe-9f12-b6b5f9fd4a30 204 47ms","method":"DELETE","requestID":"03d1bda0-3d2b-11ef-b23c-0125361f42d1","responseTime":47,"status":204,"url":"/peerconnections/fa04550f-5e42-43fe-9f12-b6b5f9fd4a30"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7b42b9ad-b851-42e6-95b2-d4c5662fe542"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:22Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33229750-20d7-4087-9f27-3e35489c4bbb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0e797e84-ffc6-4600-acb3-23294ba15ca7","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444042.9521196} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.848556,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/33229750-20d7-4087-9f27-3e35489c4bbb","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/33229750-20d7-4087-9f27-3e35489c4bbb","object_type":"device","rebac_allow":false,"scope_allow":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":"03dc9310-3d2b-11ef-b23c-0125361f42d1"},"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/33229750-20d7-4087-9f27-3e35489c4bbb/signaling 200 14ms","method":"POST","requestID":"03dc9310-3d2b-11ef-b23c-0125361f42d1","responseTime":14,"status":200,"url":"/devices/33229750-20d7-4087-9f27-3e35489c4bbb/signaling"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7b42b9ad-b851-42e6-95b2-d4c5662fe542': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7b42b9ad-b851-42e6-95b2-d4c5662fe542","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"20ba02fe-3dff-4756-99ab-4405d4a2bdf9","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444042.9598787} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"950ad3d4-7f6f-459f-9062-ec596f42aa2d","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444042.960425} 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":"52af47e3ad7b49072e4336225305d6b2"},"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:58600","level":"info","msg":"Received request.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:22Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F361fef03-31c9-4e87-bd59-5b8445dbb15c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"92f57296-4bc1-4485-85e6-4495b8dbd8d6","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444042.9700058} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.697461,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/361fef03-31c9-4e87-bd59-5b8445dbb15c","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/361fef03-31c9-4e87-bd59-5b8445dbb15c","object_type":"device","rebac_allow":false,"scope_allow":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":"03df5230-3d2b-11ef-b23c-0125361f42d1"},"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/361fef03-31c9-4e87-bd59-5b8445dbb15c/signaling 200 13ms","method":"POST","requestID":"03df5230-3d2b-11ef-b23c-0125361f42d1","responseTime":13,"status":200,"url":"/devices/361fef03-31c9-4e87-bd59-5b8445dbb15c/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/7b42b9ad-b851-42e6-95b2-d4c5662fe542"} gateway-1 | {"time_local":"08/Jul/2024:13:07:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/7b42b9ad-b851-42e6-95b2-d4c5662fe542 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.178","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"52af47e3ad7b49072e4336225305d6b2"} experiment-1 | {"level":"info","message":"DELETE /experiments/7b42b9ad-b851-42e6-95b2-d4c5662fe542 204 175ms","method":"DELETE","requestID":"52af47e3ad7b49072e4336225305d6b2","responseTime":175,"status":204,"url":"/experiments/7b42b9ad-b851-42e6-95b2-d4c5662fe542"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 135ms","method":"POST","requestID":"61176fe2440728657f15c3252e673df6","responseTime":135,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.139","http_referrer":"","http_user_agent":"node-fetch","requestID":"61176fe2440728657f15c3252e673df6"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 133ms","method":"POST","requestID":"c9c2aa8d72a5427088b3879317f4b64b","responseTime":133,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.140","http_referrer":"","http_user_agent":"node-fetch","requestID":"c9c2aa8d72a5427088b3879317f4b64b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0M30.9u3S3uPVGPqej6uMDy3w1p_T5Cbgd7rLKWsJs6PplrY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"333a172254b3d6c2741941672948ca62","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"08/Jul/2024:13:07:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2849","request_time":"0.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":"c788741838b80ba2d64e69c8dd942728"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:23Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.748501,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:23Z"} gateway-1 | {"time_local":"08/Jul/2024:13:07:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2846","request_time":"0.640","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"2640b22709a52c645fcd53e26931b127"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444043,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0M30.9u3S3uPVGPqej6uMDy3w1p_T5Cbgd7rLKWsJs6PplrY"} 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":"333a172254b3d6c2741941672948ca62"},"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/361fef03-31c9-4e87-bd59-5b8445dbb15c' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/33229750-20d7-4087-9f27-3e35489c4bbb' 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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe059cab3-6d4a-4ca6-afae-bfe79d0eaf06","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"39fe30e6-c45c-493a-9d8d-bf25cb803e7e","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444043.058788} 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":"333a172254b3d6c2741941672948ca62"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6d122b85-5b50-4fb0-bc15-79f30cfb143f","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444043.0628662} 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":"333a172254b3d6c2741941672948ca62"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe059cab3-6d4a-4ca6-afae-bfe79d0eaf06","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"955f8223-7f67-423f-a0e9-b1ccbdc67770","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444043.0731177} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c19961c1-55ee-42c7-8908-dd063e7007b2","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444043.0732112} 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":"333a172254b3d6c2741941672948ca62"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe059cab3-6d4a-4ca6-afae-bfe79d0eaf06","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe059cab3-6d4a-4ca6-afae-bfe79d0eaf06","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:23.073097226Z"}]},"request_id":"034d129d-62cd-472c-9981-dd3b5ac6402f","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444043.0774326} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"333a172254b3d6c2741941672948ca62"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:07:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"333a172254b3d6c2741941672948ca62"} device-1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"333a172254b3d6c2741941672948ca62","responseTime":40,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0M30.9u3S3uPVGPqej6uMDy3w1p_T5Cbgd7rLKWsJs6PplrY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"120c98467d92fb02194a7db889f93e6f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:23Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.657077,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:23Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444043,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0M30.9u3S3uPVGPqej6uMDy3w1p_T5Cbgd7rLKWsJs6PplrY"} 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":"120c98467d92fb02194a7db889f93e6f"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0af39581-87bd-403b-8f79-dfad527c58eb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"67b01de0-02a3-4438-bc61-a90c76dd1c87","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444043.0981688} 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":"120c98467d92fb02194a7db889f93e6f"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5f2b5bc5-e2c1-42a5-89bc-0853b3c0afca","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444043.1020784} 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":"120c98467d92fb02194a7db889f93e6f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0af39581-87bd-403b-8f79-dfad527c58eb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"779d50ad-3216-412e-9baa-cf825a3f1703","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444043.115044} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"466220be-e9d3-4aa3-9560-ca502d37824d","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444043.1152153} 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":"120c98467d92fb02194a7db889f93e6f"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0af39581-87bd-403b-8f79-dfad527c58eb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0af39581-87bd-403b-8f79-dfad527c58eb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:23.115021914Z"}]},"request_id":"9b00f624-6117-4bc8-8452-ba8b81e171e0","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444043.1184561} 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":"120c98467d92fb02194a7db889f93e6f"},"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":"120c98467d92fb02194a7db889f93e6f","responseTime":36,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/Jul/2024:13:07:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"120c98467d92fb02194a7db889f93e6f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0M30.9u3S3uPVGPqej6uMDy3w1p_T5Cbgd7rLKWsJs6PplrY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5094e346a906c0d9ba8e1a53df42bcec","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:23Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.808529,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:23Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0af39581-87bd-403b-8f79-dfad527c58eb","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/0af39581-87bd-403b-8f79-dfad527c58eb","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444043,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0M30.9u3S3uPVGPqej6uMDy3w1p_T5Cbgd7rLKWsJs6PplrY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5094e346a906c0d9ba8e1a53df42bcec"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0af39581-87bd-403b-8f79-dfad527c58eb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0af39581-87bd-403b-8f79-dfad527c58eb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:23.115021914Z"}]},"request_id":"52b933b0-5442-4d65-b76c-bc098aa463ec","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444043.6085432} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5094e346a906c0d9ba8e1a53df42bcec"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d317be1d-77e0-48c8-a185-b14aeb7c32b1","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444043.6150057} 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":"5094e346a906c0d9ba8e1a53df42bcec"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0af39581-87bd-403b-8f79-dfad527c58eb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0af39581-87bd-403b-8f79-dfad527c58eb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:23.115021914Z"}]},"request_id":"d838e57f-e020-41db-a94f-0bca24840574","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444043.628152} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5094e346a906c0d9ba8e1a53df42bcec"},"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/0af39581-87bd-403b-8f79-dfad527c58eb 200 37ms","method":"PATCH","requestID":"5094e346a906c0d9ba8e1a53df42bcec","responseTime":37,"status":200,"url":"/devices/0af39581-87bd-403b-8f79-dfad527c58eb"} gateway-1 | {"time_local":"08/Jul/2024:13:07:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/0af39581-87bd-403b-8f79-dfad527c58eb HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.040","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"5094e346a906c0d9ba8e1a53df42bcec"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0M30.9u3S3uPVGPqej6uMDy3w1p_T5Cbgd7rLKWsJs6PplrY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9bb5ab75f6539ff9536679abf55a617e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:23Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.765815,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:23Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0af39581-87bd-403b-8f79-dfad527c58eb","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/0af39581-87bd-403b-8f79-dfad527c58eb","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444043,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0M30.9u3S3uPVGPqej6uMDy3w1p_T5Cbgd7rLKWsJs6PplrY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9bb5ab75f6539ff9536679abf55a617e"},"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":"08/Jul/2024:13:07:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0af39581-87bd-403b-8f79-dfad527c58eb/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.025","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"9bb5ab75f6539ff9536679abf55a617e"} device-1 | {"level":"info","message":"POST /devices/0af39581-87bd-403b-8f79-dfad527c58eb/websocket 200 20ms","method":"POST","requestID":"9bb5ab75f6539ff9536679abf55a617e","responseTime":20,"status":200,"url":"/devices/0af39581-87bd-403b-8f79-dfad527c58eb/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/0af39581-87bd-403b-8f79-dfad527c58eb' 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":"b4299913a9faa075a6fe97a4700929dd","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:07:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06/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":"b4299913a9faa075a6fe97a4700929dd"} device-1 | {"level":"info","message":"OPTIONS /devices/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06/websocket 200 1ms","method":"OPTIONS","requestID":"b4299913a9faa075a6fe97a4700929dd","responseTime":1,"status":200,"url":"/devices/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0NX0.eE9p0h54DiYzUvud57FDRIShv3r4pih_7nlBlKHVSzQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b3715198c0a407ce567637d6a3bf3ca8","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:25Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.215597,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:25Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444045,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0NX0.eE9p0h54DiYzUvud57FDRIShv3r4pih_7nlBlKHVSzQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b3715198c0a407ce567637d6a3bf3ca8"},"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":"08/Jul/2024:13:07:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.026","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b3715198c0a407ce567637d6a3bf3ca8"} device-1 | {"level":"info","message":"POST /devices/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06/websocket 200 21ms","method":"POST","requestID":"b3715198c0a407ce567637d6a3bf3ca8","responseTime":21,"status":200,"url":"/devices/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0NX0.eE9p0h54DiYzUvud57FDRIShv3r4pih_7nlBlKHVSzQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1c67bb21d0186881f223922ef8996362","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:25Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.238369,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444045,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0NX0.eE9p0h54DiYzUvud57FDRIShv3r4pih_7nlBlKHVSzQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1c67bb21d0186881f223922ef8996362"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe059cab3-6d4a-4ca6-afae-bfe79d0eaf06","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe059cab3-6d4a-4ca6-afae-bfe79d0eaf06","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:23.073097226Z"}]},"request_id":"0601b8a2-ecf4-4bfe-b81c-15002cf025bd","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444045.1700096} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1c67bb21d0186881f223922ef8996362"},"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/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06? 200 16ms","method":"GET","requestID":"1c67bb21d0186881f223922ef8996362","responseTime":16,"status":200,"url":"/devices/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06?"} gateway-1 | {"time_local":"08/Jul/2024:13:07:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1c67bb21d0186881f223922ef8996362"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0NX0.eE9p0h54DiYzUvud57FDRIShv3r4pih_7nlBlKHVSzQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"cc9278178bfd52007eebda745135ad6f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:25Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.015409,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0af39581-87bd-403b-8f79-dfad527c58eb","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/0af39581-87bd-403b-8f79-dfad527c58eb","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444045,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0NX0.eE9p0h54DiYzUvud57FDRIShv3r4pih_7nlBlKHVSzQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cc9278178bfd52007eebda745135ad6f"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0af39581-87bd-403b-8f79-dfad527c58eb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0af39581-87bd-403b-8f79-dfad527c58eb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:23.115021914Z"}]},"request_id":"5ea89f78-7ead-4e24-8e4d-15f876dc3734","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444045.1927202} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cc9278178bfd52007eebda745135ad6f"},"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":"08/Jul/2024:13:07:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0af39581-87bd-403b-8f79-dfad527c58eb? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cc9278178bfd52007eebda745135ad6f"} device-1 | {"level":"info","message":"GET /devices/0af39581-87bd-403b-8f79-dfad527c58eb? 200 16ms","method":"GET","requestID":"cc9278178bfd52007eebda745135ad6f","responseTime":16,"status":200,"url":"/devices/0af39581-87bd-403b-8f79-dfad527c58eb?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0NX0.eE9p0h54DiYzUvud57FDRIShv3r4pih_7nlBlKHVSzQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"2d6dbe2caa2fd19974828746fa8b05e6","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:58600","level":"info","msg":"Received request.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:25Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":2.367896,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:25Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444045,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0NX0.eE9p0h54DiYzUvud57FDRIShv3r4pih_7nlBlKHVSzQ"} 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":"2d6dbe2caa2fd19974828746fa8b05e6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/95f30c01-156a-45ce-bba9-cda2c4ea71c8"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/95f30c01-156a-45ce-bba9-cda2c4ea71c8"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/95f30c01-156a-45ce-bba9-cda2c4ea71c8"},"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:58600","level":"info","msg":"Received request.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:25Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.124145,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444045,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0NX0.eE9p0h54DiYzUvud57FDRIShv3r4pih_7nlBlKHVSzQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"053c7130-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:47540","level":"info","msg":"Received request.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:25Z"} authorization-1 | {"client_addr":"127.0.0.1:47540","level":"info","msg":"Sent response.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.067378,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0af39581-87bd-403b-8f79-dfad527c58eb","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/0af39581-87bd-403b-8f79-dfad527c58eb","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444045,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0NX0.eE9p0h54DiYzUvud57FDRIShv3r4pih_7nlBlKHVSzQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"053c9840-3d2b-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe059cab3-6d4a-4ca6-afae-bfe79d0eaf06","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe059cab3-6d4a-4ca6-afae-bfe79d0eaf06","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:23.073097226Z"}]},"request_id":"8bbd7c13-27cc-4967-884a-a5a43a6a480f","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444045.2597992} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"053c7130-3d2b-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0af39581-87bd-403b-8f79-dfad527c58eb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0af39581-87bd-403b-8f79-dfad527c58eb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:23.115021914Z"}]},"request_id":"f9c87dfc-81ad-4594-a043-c0950517ed0d","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444045.2610428} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"053c9840-3d2b-11ef-b23c-0125361f42d1"},"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/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06? 200 14ms","method":"GET","requestID":"053c7130-3d2b-11ef-b23c-0125361f42d1","responseTime":14,"status":200,"url":"/devices/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/0af39581-87bd-403b-8f79-dfad527c58eb? 200 14ms","method":"GET","requestID":"053c9840-3d2b-11ef-b23c-0125361f42d1","responseTime":14,"status":200,"url":"/devices/0af39581-87bd-403b-8f79-dfad527c58eb?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/95f30c01-156a-45ce-bba9-cda2c4ea71c8"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/95f30c01-156a-45ce-bba9-cda2c4ea71c8"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/95f30c01-156a-45ce-bba9-cda2c4ea71c8"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/95f30c01-156a-45ce-bba9-cda2c4ea71c8"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/95f30c01-156a-45ce-bba9-cda2c4ea71c8"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/95f30c01-156a-45ce-bba9-cda2c4ea71c8"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/95f30c01-156a-45ce-bba9-cda2c4ea71c8"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/95f30c01-156a-45ce-bba9-cda2c4ea71c8"},"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:58600","level":"info","msg":"Received request.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:25Z"} authorization-1 | {"client_addr":"127.0.0.1:47540","level":"info","msg":"Received request.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:25Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/95f30c01-156a-45ce-bba9-cda2c4ea71c8"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.766049,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444045,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0NX0.eE9p0h54DiYzUvud57FDRIShv3r4pih_7nlBlKHVSzQ"} 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":"05471f90-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:47540","level":"info","msg":"Sent response.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.556703,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0af39581-87bd-403b-8f79-dfad527c58eb","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/0af39581-87bd-403b-8f79-dfad527c58eb","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444045,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0NX0.eE9p0h54DiYzUvud57FDRIShv3r4pih_7nlBlKHVSzQ"} 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":"05476db0-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:25Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe059cab3-6d4a-4ca6-afae-bfe79d0eaf06","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"43373758-258c-4b2b-bb74-e970104bdedf","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444045.335214} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.637575,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06","object_type":"device","rebac_allow":false,"scope_allow":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":"0547bbd0-3d2b-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe059cab3-6d4a-4ca6-afae-bfe79d0eaf06","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe059cab3-6d4a-4ca6-afae-bfe79d0eaf06","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:23.073097226Z"}]},"request_id":"5f0ba58b-7258-4942-a8d6-91f759396ea3","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444045.3384852} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0af39581-87bd-403b-8f79-dfad527c58eb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0af39581-87bd-403b-8f79-dfad527c58eb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:23.115021914Z"}]},"request_id":"34600d17-559e-4aa8-a937-2105e2980bd6","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444045.3408167} 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":"05471f90-3d2b-11ef-b23c-0125361f42d1"},"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":"05476db0-3d2b-11ef-b23c-0125361f42d1"},"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/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06/signaling 200 25ms","method":"POST","requestID":"0547bbd0-3d2b-11ef-b23c-0125361f42d1","responseTime":25,"status":200,"url":"/devices/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06? 200 31ms","method":"GET","requestID":"05471f90-3d2b-11ef-b23c-0125361f42d1","responseTime":31,"status":200,"url":"/devices/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F95f30c01-156a-45ce-bba9-cda2c4ea71c8#owner@http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F95f30c01-156a-45ce-bba9-cda2c4ea71c8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"ff026128-303f-42e9-907d-ef00f60f813e","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444045.355704} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/0af39581-87bd-403b-8f79-dfad527c58eb? 200 35ms","method":"GET","requestID":"05476db0-3d2b-11ef-b23c-0125361f42d1","responseTime":35,"status":200,"url":"/devices/0af39581-87bd-403b-8f79-dfad527c58eb?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1a060be5-3823-485d-858e-b3f0ace744c4","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444045.3565521} 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":"2d6dbe2caa2fd19974828746fa8b05e6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":28}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0af39581-87bd-403b-8f79-dfad527c58eb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"03585f2e-fff8-4652-9ad0-c410c69198e6","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444045.3622487} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:25Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.863389,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0af39581-87bd-403b-8f79-dfad527c58eb","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0af39581-87bd-403b-8f79-dfad527c58eb","object_type":"device","rebac_allow":false,"scope_allow":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":"054c0190-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:25Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/0af39581-87bd-403b-8f79-dfad527c58eb/signaling 200 17ms","method":"POST","requestID":"054c0190-3d2b-11ef-b23c-0125361f42d1","responseTime":17,"status":200,"url":"/devices/0af39581-87bd-403b-8f79-dfad527c58eb/signaling"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe059cab3-6d4a-4ca6-afae-bfe79d0eaf06","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3f898732-dcbc-4e59-ba00-606274e6a997","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444045.3721602} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.429601,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06","object_type":"device","rebac_allow":false,"scope_allow":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":"054d6120-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/95f30c01-156a-45ce-bba9-cda2c4ea71c8","user":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"08/Jul/2024:13:07:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.175","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2d6dbe2caa2fd19974828746fa8b05e6"} experiment-1 | {"level":"info","message":"POST /experiments? 201 167ms","method":"POST","requestID":"2d6dbe2caa2fd19974828746fa8b05e6","responseTime":167,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06/signaling 200 14ms","method":"POST","requestID":"054d6120-3d2b-11ef-b23c-0125361f42d1","responseTime":14,"status":200,"url":"/devices/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0NX0.eE9p0h54DiYzUvud57FDRIShv3r4pih_7nlBlKHVSzQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ada942b7dbf58a8c03ef58b3667712af","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:25Z"} authorization-1 | {"client_addr":"127.0.0.1:47540","level":"info","msg":"Received request.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:25Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0af39581-87bd-403b-8f79-dfad527c58eb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d60ea728-2791-419e-90f2-6b06196e9595","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444045.3860142} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.00044,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:25Z"} authorization-1 | {"client_addr":"127.0.0.1:47540","level":"info","msg":"Sent response.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.495746,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0af39581-87bd-403b-8f79-dfad527c58eb","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0af39581-87bd-403b-8f79-dfad527c58eb","object_type":"device","rebac_allow":false,"scope_allow":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":"054ff930-3d2b-11ef-b23c-0125361f42d1"},"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/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444045,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0NX0.eE9p0h54DiYzUvud57FDRIShv3r4pih_7nlBlKHVSzQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ada942b7dbf58a8c03ef58b3667712af"},"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/0af39581-87bd-403b-8f79-dfad527c58eb/signaling 200 12ms","method":"POST","requestID":"054ff930-3d2b-11ef-b23c-0125361f42d1","responseTime":12,"status":200,"url":"/devices/0af39581-87bd-403b-8f79-dfad527c58eb/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/95f30c01-156a-45ce-bba9-cda2c4ea71c8"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/95f30c01-156a-45ce-bba9-cda2c4ea71c8"},"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":"a33e2f3a-6f0f-4e9d-8fd9-0202585b4ce4"},{"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":"7356b6c2-384e-425b-8d0c-4a0ae6dd6fe6"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"503ec205-f3fb-4e3d-b942-b0a8f4ac4de7"}]},"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/0af39581-87bd-403b-8f79-dfad527c58eb"},{"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/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06"}],"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe059cab3-6d4a-4ca6-afae-bfe79d0eaf06","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe059cab3-6d4a-4ca6-afae-bfe79d0eaf06","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:23.073097226Z"}]},"request_id":"97def9bd-86c4-4d5f-b4a5-28ffd2d954f9","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444045.3934991} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ada942b7dbf58a8c03ef58b3667712af"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:07:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06? 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":"ada942b7dbf58a8c03ef58b3667712af"} device-1 | {"level":"info","message":"GET /devices/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06? 200 17ms","method":"GET","requestID":"ada942b7dbf58a8c03ef58b3667712af","responseTime":17,"status":200,"url":"/devices/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06?"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:25Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.775097,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:25Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444045,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0NX0.eE9p0h54DiYzUvud57FDRIShv3r4pih_7nlBlKHVSzQ"} 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":"05526a30-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0NX0.eE9p0h54DiYzUvud57FDRIShv3r4pih_7nlBlKHVSzQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e903cbf2608aa3b5534db1e0ff3d3b1e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:25Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.028604,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0af39581-87bd-403b-8f79-dfad527c58eb","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/0af39581-87bd-403b-8f79-dfad527c58eb","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444045,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0NX0.eE9p0h54DiYzUvud57FDRIShv3r4pih_7nlBlKHVSzQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e903cbf2608aa3b5534db1e0ff3d3b1e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","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%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"448125da-411a-4bf2-b5ef-5fa83aa836de","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444045.4125223} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"adb9c070-5047-4e53-9637-66f7c54f5918","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444045.4128773} 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":"05526a30-3d2b-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0af39581-87bd-403b-8f79-dfad527c58eb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0af39581-87bd-403b-8f79-dfad527c58eb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:23.115021914Z"}]},"request_id":"9ecee1f9-d78b-4114-884b-d3e902e392b1","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444045.4179757} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e903cbf2608aa3b5534db1e0ff3d3b1e"},"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":"08/Jul/2024:13:07:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0af39581-87bd-403b-8f79-dfad527c58eb? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.031","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e903cbf2608aa3b5534db1e0ff3d3b1e"} device-1 | {"level":"info","message":"GET /devices/0af39581-87bd-403b-8f79-dfad527c58eb? 200 24ms","method":"GET","requestID":"e903cbf2608aa3b5534db1e0ff3d3b1e","responseTime":24,"status":200,"url":"/devices/0af39581-87bd-403b-8f79-dfad527c58eb?"} 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/8fcfc695-40dc-45f6-84ae-5e54526e1d3b'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/8fcfc695-40dc-45f6-84ae-5e54526e1d3b'"} 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":"05526a30-3d2b-11ef-b23c-0125361f42d1","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"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/95f30c01-156a-45ce-bba9-cda2c4ea71c8"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:25Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe059cab3-6d4a-4ca6-afae-bfe79d0eaf06","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"86f0f28d-a693-4708-b475-5971c7037d4e","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444045.4760299} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.075079,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06","object_type":"device","rebac_allow":false,"scope_allow":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":"055ddbe0-3d2b-11ef-b23c-0125361f42d1"},"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/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06/signaling 200 10ms","method":"POST","requestID":"055ddbe0-3d2b-11ef-b23c-0125361f42d1","responseTime":10,"status":200,"url":"/devices/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:25Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0af39581-87bd-403b-8f79-dfad527c58eb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"45632512-5971-4d52-bef8-c4d75cf3c3cb","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444045.4871473} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.663178,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0af39581-87bd-403b-8f79-dfad527c58eb","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0af39581-87bd-403b-8f79-dfad527c58eb","object_type":"device","rebac_allow":false,"scope_allow":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":"055fb0a0-3d2b-11ef-b23c-0125361f42d1"},"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/0af39581-87bd-403b-8f79-dfad527c58eb/signaling 200 12ms","method":"POST","requestID":"055fb0a0-3d2b-11ef-b23c-0125361f42d1","responseTime":12,"status":200,"url":"/devices/0af39581-87bd-403b-8f79-dfad527c58eb/signaling"} device-1 | {"data":{"peerconnection":"8fcfc695-40dc-45f6-84ae-5e54526e1d3b","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/8fcfc695-40dc-45f6-84ae-5e54526e1d3b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8fcfc695-40dc-45f6-84ae-5e54526e1d3b","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":"3f9f5eaee35b388b221fe7cb42e16a3b","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/0af39581-87bd-403b-8f79-dfad527c58eb"},{"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/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/8fcfc695-40dc-45f6-84ae-5e54526e1d3b"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"3f9f5eaee35b388b221fe7cb42e16a3b","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"3f9f5eaee35b388b221fe7cb42e16a3b"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06'"} device-1 | {"data":{"peerconnection":"8fcfc695-40dc-45f6-84ae-5e54526e1d3b","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"8fcfc695-40dc-45f6-84ae-5e54526e1d3b","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/8fcfc695-40dc-45f6-84ae-5e54526e1d3b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8fcfc695-40dc-45f6-84ae-5e54526e1d3b","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":"6425f6159ae845dddd309bae254291eb","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/0af39581-87bd-403b-8f79-dfad527c58eb"},{"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/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/8fcfc695-40dc-45f6-84ae-5e54526e1d3b"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:27Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8fcfc695-40dc-45f6-84ae-5e54526e1d3b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"41ffc7d5-e40a-44dd-b29e-edb6d13e79bc","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444047.61686} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.523624,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/8fcfc695-40dc-45f6-84ae-5e54526e1d3b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/8fcfc695-40dc-45f6-84ae-5e54526e1d3b","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":"06a43e90-3d2b-11ef-b23c-0125361f42d1"},"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/8fcfc695-40dc-45f6-84ae-5e54526e1d3b 200 15ms","method":"GET","requestID":"06a43e90-3d2b-11ef-b23c-0125361f42d1","responseTime":15,"status":200,"url":"/peerconnections/8fcfc695-40dc-45f6-84ae-5e54526e1d3b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 44ms","method":"POST","requestID":"6425f6159ae845dddd309bae254291eb","responseTime":44,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07: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.049","http_referrer":"","http_user_agent":"node-fetch","requestID":"6425f6159ae845dddd309bae254291eb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:27Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0af39581-87bd-403b-8f79-dfad527c58eb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"befdf9be-61a2-4a2e-b9fc-4fcb032e6315","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444047.6528523} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.728381,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0af39581-87bd-403b-8f79-dfad527c58eb","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0af39581-87bd-403b-8f79-dfad527c58eb","object_type":"device","rebac_allow":false,"scope_allow":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":"06aa0af0-3d2b-11ef-b23c-0125361f42d1"},"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/0af39581-87bd-403b-8f79-dfad527c58eb/signaling 200 12ms","method":"POST","requestID":"06aa0af0-3d2b-11ef-b23c-0125361f42d1","responseTime":12,"status":200,"url":"/devices/0af39581-87bd-403b-8f79-dfad527c58eb/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:27Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe059cab3-6d4a-4ca6-afae-bfe79d0eaf06","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1abf58b7-aa0e-4a96-94e8-b3f04286c2bb","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444047.6686199} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.814654,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06","object_type":"device","rebac_allow":false,"scope_allow":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":"06ac54e0-3d2b-11ef-b23c-0125361f42d1"},"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/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06/signaling 200 12ms","method":"POST","requestID":"06ac54e0-3d2b-11ef-b23c-0125361f42d1","responseTime":12,"status":200,"url":"/devices/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0N30.JyzPSLRrCB4C-4W4PZCghAJhVyGV5enjd5PiozZGUBc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"dfbf1e418d9734d5a73c94baed8cba79","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/95f30c01-156a-45ce-bba9-cda2c4ea71c8"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:27Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.645978,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/95f30c01-156a-45ce-bba9-cda2c4ea71c8","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/95f30c01-156a-45ce-bba9-cda2c4ea71c8","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444047,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0N30.JyzPSLRrCB4C-4W4PZCghAJhVyGV5enjd5PiozZGUBc"} 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":"dfbf1e418d9734d5a73c94baed8cba79"},"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/95f30c01-156a-45ce-bba9-cda2c4ea71c8"} gateway-1 | {"time_local":"08/Jul/2024:13:07:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/95f30c01-156a-45ce-bba9-cda2c4ea71c8 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":"dfbf1e418d9734d5a73c94baed8cba79"} experiment-1 | {"level":"info","message":"GET /experiments/95f30c01-156a-45ce-bba9-cda2c4ea71c8 200 15ms","method":"GET","requestID":"dfbf1e418d9734d5a73c94baed8cba79","responseTime":15,"status":200,"url":"/experiments/95f30c01-156a-45ce-bba9-cda2c4ea71c8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0N30.JyzPSLRrCB4C-4W4PZCghAJhVyGV5enjd5PiozZGUBc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"2b64515b89e222d9a4c48a919e9bb321","responseTime":7,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/95f30c01-156a-45ce-bba9-cda2c4ea71c8"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:27Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.256,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:27Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/95f30c01-156a-45ce-bba9-cda2c4ea71c8","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/95f30c01-156a-45ce-bba9-cda2c4ea71c8","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444047,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0N30.JyzPSLRrCB4C-4W4PZCghAJhVyGV5enjd5PiozZGUBc"} 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":"2b64515b89e222d9a4c48a919e9bb321"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/95f30c01-156a-45ce-bba9-cda2c4ea71c8"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:27Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.344544,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:27Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/8fcfc695-40dc-45f6-84ae-5e54526e1d3b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:http://localhost/peerconnections/8fcfc695-40dc-45f6-84ae-5e54526e1d3b","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444047,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0N30.JyzPSLRrCB4C-4W4PZCghAJhVyGV5enjd5PiozZGUBc"} 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":"06b8d800-3d2b-11ef-b23c-0125361f42d1"},"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/8fcfc695-40dc-45f6-84ae-5e54526e1d3b' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/8fcfc695-40dc-45f6-84ae-5e54526e1d3b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8fcfc695-40dc-45f6-84ae-5e54526e1d3b","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8fcfc695-40dc-45f6-84ae-5e54526e1d3b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8fcfc695-40dc-45f6-84ae-5e54526e1d3b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"fd39719a-6c04-42cf-b6af-84af54102ac2","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444047.7682767} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"0692f5883a84f2983dd7ef625a07938d","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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"93ba1516-58e5-46ef-b2d2-327d560ed70a","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444047.7688982} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/0af39581-87bd-403b-8f79-dfad527c58eb"},{"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/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/8fcfc695-40dc-45f6-84ae-5e54526e1d3b"}}},"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":"06b8d800-3d2b-11ef-b23c-0125361f42d1"},"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 1ms","method":"GET","requestID":"48fbd387f77b9f79035aee12cc0dfe26","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/0af39581-87bd-403b-8f79-dfad527c58eb"},{"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/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/8fcfc695-40dc-45f6-84ae-5e54526e1d3b"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"8fcfc695-40dc-45f6-84ae-5e54526e1d3b","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/8fcfc695-40dc-45f6-84ae-5e54526e1d3b 204 47ms","method":"DELETE","requestID":"06b8d800-3d2b-11ef-b23c-0125361f42d1","responseTime":47,"status":204,"url":"/peerconnections/8fcfc695-40dc-45f6-84ae-5e54526e1d3b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/95f30c01-156a-45ce-bba9-cda2c4ea71c8"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:27Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0af39581-87bd-403b-8f79-dfad527c58eb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"be968b7c-8d98-4632-8522-be9f15bfa6d5","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444047.8228922} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.466463,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0af39581-87bd-403b-8f79-dfad527c58eb","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0af39581-87bd-403b-8f79-dfad527c58eb","object_type":"device","rebac_allow":false,"scope_allow":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":"06c3ad70-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F95f30c01-156a-45ce-bba9-cda2c4ea71c8': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F95f30c01-156a-45ce-bba9-cda2c4ea71c8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"d8110bdc-7c50-4492-b2d7-e63c13658620","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444047.8277817} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"07efbf36-617f-462e-ae75-81748c83e669","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444047.8285663} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/0af39581-87bd-403b-8f79-dfad527c58eb/signaling 200 19ms","method":"POST","requestID":"06c3ad70-3d2b-11ef-b23c-0125361f42d1","responseTime":19,"status":200,"url":"/devices/0af39581-87bd-403b-8f79-dfad527c58eb/signaling"} 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":"2b64515b89e222d9a4c48a919e9bb321"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:27Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe059cab3-6d4a-4ca6-afae-bfe79d0eaf06","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"127f64b8-a71f-4b1a-9275-e4f810b280dc","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444047.8465211} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.743319,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06","object_type":"device","rebac_allow":false,"scope_allow":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":"06c708d0-3d2b-11ef-b23c-0125361f42d1"},"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/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06/signaling 200 16ms","method":"POST","requestID":"06c708d0-3d2b-11ef-b23c-0125361f42d1","responseTime":16,"status":200,"url":"/devices/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/95f30c01-156a-45ce-bba9-cda2c4ea71c8"} gateway-1 | {"time_local":"08/Jul/2024:13:07:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/95f30c01-156a-45ce-bba9-cda2c4ea71c8 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":"2b64515b89e222d9a4c48a919e9bb321"} gateway-1 | {"time_local":"08/Jul/2024:13:07:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3192","request_time":"4.243","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"1d51308dc130dcf00cde603cf49a68a9"} experiment-1 | {"level":"info","message":"DELETE /experiments/95f30c01-156a-45ce-bba9-cda2c4ea71c8 204 175ms","method":"DELETE","requestID":"2b64515b89e222d9a4c48a919e9bb321","responseTime":175,"status":204,"url":"/experiments/95f30c01-156a-45ce-bba9-cda2c4ea71c8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 136ms","method":"POST","requestID":"0692f5883a84f2983dd7ef625a07938d","responseTime":136,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07: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.141","http_referrer":"","http_user_agent":"node-fetch","requestID":"0692f5883a84f2983dd7ef625a07938d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0N30.JyzPSLRrCB4C-4W4PZCghAJhVyGV5enjd5PiozZGUBc","level":"info","message":"auth send jwt"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 137ms","method":"POST","requestID":"48fbd387f77b9f79035aee12cc0dfe26","responseTime":137,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07: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.143","http_referrer":"","http_user_agent":"node-fetch","requestID":"48fbd387f77b9f79035aee12cc0dfe26"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"897a43c3b73bb0fe255b09d4c0f24c4a","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/0af39581-87bd-403b-8f79-dfad527c58eb' closed"} gateway-1 | {"time_local":"08/Jul/2024:13:07:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2704","request_time":"2.779","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"8fa8dc330d90a1d8647420588a57e73f"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:27Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.882532,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:27Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444047,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0N30.JyzPSLRrCB4C-4W4PZCghAJhVyGV5enjd5PiozZGUBc"} 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":"897a43c3b73bb0fe255b09d4c0f24c4a"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F04cba099-96de-44ce-875e-ebefb1444576","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c84b44ac-d3dc-4dc8-8efa-b7dada113a04","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444047.9328613} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"897a43c3b73bb0fe255b09d4c0f24c4a"},"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/e059cab3-6d4a-4ca6-afae-bfe79d0eaf06' 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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a0c32978-5e65-4866-8487-be9a1c3ade28","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444047.938056} 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":"897a43c3b73bb0fe255b09d4c0f24c4a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F04cba099-96de-44ce-875e-ebefb1444576","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"a6b8e9ed-83d0-4069-92f8-204680615e4b","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444047.953393} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1b1ac407-e6bb-49ad-b4d7-12d48c900f48","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444047.9536045} 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":"897a43c3b73bb0fe255b09d4c0f24c4a"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F04cba099-96de-44ce-875e-ebefb1444576","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F04cba099-96de-44ce-875e-ebefb1444576","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:27.953369658Z"}]},"request_id":"c68782e4-14f0-459a-b9f5-e9876504983b","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444047.957488} 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":"897a43c3b73bb0fe255b09d4c0f24c4a"},"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":"897a43c3b73bb0fe255b09d4c0f24c4a","responseTime":47,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/Jul/2024:13:07:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"897a43c3b73bb0fe255b09d4c0f24c4a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0N30.JyzPSLRrCB4C-4W4PZCghAJhVyGV5enjd5PiozZGUBc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c9f8d4d96fee290f2f4276365a11537b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:27Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.752913,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:27Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444047,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0N30.JyzPSLRrCB4C-4W4PZCghAJhVyGV5enjd5PiozZGUBc"} 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":"c9f8d4d96fee290f2f4276365a11537b"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffa5559d6-f3d0-4682-8315-beab638eb261","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6480ce38-570a-4b32-b0e9-fb28474698fd","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444047.9822946} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c9f8d4d96fee290f2f4276365a11537b"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2024c7e5-f1ed-4bf1-bbac-3b2d4beb47b0","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444047.9886694} 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":"c9f8d4d96fee290f2f4276365a11537b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffa5559d6-f3d0-4682-8315-beab638eb261","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"cbec2f53-5726-4c2f-90e7-52bf39c51a6b","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444047.998267} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"663b212a-82be-44ef-92de-6013a4f6001c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444047.998479} 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":"c9f8d4d96fee290f2f4276365a11537b"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffa5559d6-f3d0-4682-8315-beab638eb261","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffa5559d6-f3d0-4682-8315-beab638eb261","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:27.998243309Z"}]},"request_id":"fec11f21-286f-4728-9cde-5492244133a2","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444048.0026689} 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":"c9f8d4d96fee290f2f4276365a11537b"},"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":"c9f8d4d96fee290f2f4276365a11537b","responseTime":39,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/Jul/2024:13:07: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.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c9f8d4d96fee290f2f4276365a11537b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0OH0.sSwWjjwPPEsOOs_16cUtzwVjvGsM2aQrFJBoLmXyrpY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"39ceff1235b86c0a0614f07ceab37a92","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:28Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.216189,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:28Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/fa5559d6-f3d0-4682-8315-beab638eb261","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/fa5559d6-f3d0-4682-8315-beab638eb261","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444048,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0OH0.sSwWjjwPPEsOOs_16cUtzwVjvGsM2aQrFJBoLmXyrpY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"39ceff1235b86c0a0614f07ceab37a92"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffa5559d6-f3d0-4682-8315-beab638eb261","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffa5559d6-f3d0-4682-8315-beab638eb261","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:27.998243309Z"}]},"request_id":"21f9826e-a314-4810-a06f-b4d5c15d9aaf","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444048.497831} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"39ceff1235b86c0a0614f07ceab37a92"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0f23dd9b-3025-4999-a4b9-fd737f149c20","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444048.5041153} 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":"39ceff1235b86c0a0614f07ceab37a92"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffa5559d6-f3d0-4682-8315-beab638eb261","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffa5559d6-f3d0-4682-8315-beab638eb261","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:27.998243309Z"}]},"request_id":"bcc668c3-ea2b-4a14-b114-565baa9dc744","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444048.516439} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"39ceff1235b86c0a0614f07ceab37a92"},"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/fa5559d6-f3d0-4682-8315-beab638eb261 200 35ms","method":"PATCH","requestID":"39ceff1235b86c0a0614f07ceab37a92","responseTime":35,"status":200,"url":"/devices/fa5559d6-f3d0-4682-8315-beab638eb261"} gateway-1 | {"time_local":"08/Jul/2024:13:07:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/fa5559d6-f3d0-4682-8315-beab638eb261 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.041","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"39ceff1235b86c0a0614f07ceab37a92"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0OH0.sSwWjjwPPEsOOs_16cUtzwVjvGsM2aQrFJBoLmXyrpY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8533badf12441f44afa69959c86a5a76","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:28Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.34218,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:28Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/fa5559d6-f3d0-4682-8315-beab638eb261","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/fa5559d6-f3d0-4682-8315-beab638eb261","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444048,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA0OH0.sSwWjjwPPEsOOs_16cUtzwVjvGsM2aQrFJBoLmXyrpY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8533badf12441f44afa69959c86a5a76"},"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/fa5559d6-f3d0-4682-8315-beab638eb261/websocket 200 20ms","method":"POST","requestID":"8533badf12441f44afa69959c86a5a76","responseTime":20,"status":200,"url":"/devices/fa5559d6-f3d0-4682-8315-beab638eb261/websocket"} gateway-1 | {"time_local":"08/Jul/2024:13:07:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/fa5559d6-f3d0-4682-8315-beab638eb261/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.026","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"8533badf12441f44afa69959c86a5a76"} device-1 | {"level":"info","message":"device 'http://localhost/devices/fa5559d6-f3d0-4682-8315-beab638eb261' 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":"5f3a3367f907426e81541256096db321","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:07:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/04cba099-96de-44ce-875e-ebefb1444576/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":"5f3a3367f907426e81541256096db321"} device-1 | {"level":"info","message":"OPTIONS /devices/04cba099-96de-44ce-875e-ebefb1444576/websocket 200 1ms","method":"OPTIONS","requestID":"5f3a3367f907426e81541256096db321","responseTime":1,"status":200,"url":"/devices/04cba099-96de-44ce-875e-ebefb1444576/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1MH0.30EmelDZ0QMM77pXBzzjmms6PGtlEueASpbo1JTxhWo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e71af5d7ce8ab3cf29d0929b880784e5","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:30Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.251692,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:30Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/04cba099-96de-44ce-875e-ebefb1444576","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/04cba099-96de-44ce-875e-ebefb1444576","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444050,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1MH0.30EmelDZ0QMM77pXBzzjmms6PGtlEueASpbo1JTxhWo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e71af5d7ce8ab3cf29d0929b880784e5"},"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":"08/Jul/2024:13:07:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/04cba099-96de-44ce-875e-ebefb1444576/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.027","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e71af5d7ce8ab3cf29d0929b880784e5"} device-1 | {"level":"info","message":"POST /devices/04cba099-96de-44ce-875e-ebefb1444576/websocket 200 20ms","method":"POST","requestID":"e71af5d7ce8ab3cf29d0929b880784e5","responseTime":20,"status":200,"url":"/devices/04cba099-96de-44ce-875e-ebefb1444576/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/04cba099-96de-44ce-875e-ebefb1444576' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1MH0.30EmelDZ0QMM77pXBzzjmms6PGtlEueASpbo1JTxhWo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"69bede94fd81e6a05b1927d0d92b6d82","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:30Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.190951,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/04cba099-96de-44ce-875e-ebefb1444576","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/04cba099-96de-44ce-875e-ebefb1444576","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444050,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1MH0.30EmelDZ0QMM77pXBzzjmms6PGtlEueASpbo1JTxhWo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"69bede94fd81e6a05b1927d0d92b6d82"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F04cba099-96de-44ce-875e-ebefb1444576","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F04cba099-96de-44ce-875e-ebefb1444576","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:27.953369658Z"}]},"request_id":"2a551055-752c-4e90-9379-681c7b582c28","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444050.0794396} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"69bede94fd81e6a05b1927d0d92b6d82"},"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":"08/Jul/2024:13:07:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/04cba099-96de-44ce-875e-ebefb1444576? 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":"69bede94fd81e6a05b1927d0d92b6d82"} device-1 | {"level":"info","message":"GET /devices/04cba099-96de-44ce-875e-ebefb1444576? 200 17ms","method":"GET","requestID":"69bede94fd81e6a05b1927d0d92b6d82","responseTime":17,"status":200,"url":"/devices/04cba099-96de-44ce-875e-ebefb1444576?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1MH0.30EmelDZ0QMM77pXBzzjmms6PGtlEueASpbo1JTxhWo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d4bb0021385cf2670d60b7f5b5b132bc","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:30Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.164568,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fa5559d6-f3d0-4682-8315-beab638eb261","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/fa5559d6-f3d0-4682-8315-beab638eb261","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444050,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1MH0.30EmelDZ0QMM77pXBzzjmms6PGtlEueASpbo1JTxhWo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d4bb0021385cf2670d60b7f5b5b132bc"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffa5559d6-f3d0-4682-8315-beab638eb261","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffa5559d6-f3d0-4682-8315-beab638eb261","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:27.998243309Z"}]},"request_id":"7288cda5-6d6f-49bb-97d1-94c99f2ee1e2","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444050.1041205} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d4bb0021385cf2670d60b7f5b5b132bc"},"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/fa5559d6-f3d0-4682-8315-beab638eb261? 200 16ms","method":"GET","requestID":"d4bb0021385cf2670d60b7f5b5b132bc","responseTime":16,"status":200,"url":"/devices/fa5559d6-f3d0-4682-8315-beab638eb261?"} gateway-1 | {"time_local":"08/Jul/2024:13:07:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/fa5559d6-f3d0-4682-8315-beab638eb261? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d4bb0021385cf2670d60b7f5b5b132bc"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1MH0.30EmelDZ0QMM77pXBzzjmms6PGtlEueASpbo1JTxhWo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"69d45a42267eb8f5f2fd4094d1e5062c","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:58600","level":"info","msg":"Received request.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:30Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.319494,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:30Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444050,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1MH0.30EmelDZ0QMM77pXBzzjmms6PGtlEueASpbo1JTxhWo"} 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":"69d45a42267eb8f5f2fd4094d1e5062c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1015e904-b078-42b5-aeb8-b489cdc781d3"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1015e904-b078-42b5-aeb8-b489cdc781d3"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1015e904-b078-42b5-aeb8-b489cdc781d3"},"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:58600","level":"info","msg":"Received request.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:30Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.334005,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/04cba099-96de-44ce-875e-ebefb1444576","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/04cba099-96de-44ce-875e-ebefb1444576","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444050,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1MH0.30EmelDZ0QMM77pXBzzjmms6PGtlEueASpbo1JTxhWo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"082930e0-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:47762","level":"info","msg":"Received request.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:30Z"} authorization-1 | {"client_addr":"127.0.0.1:47762","level":"info","msg":"Sent response.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.599756,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fa5559d6-f3d0-4682-8315-beab638eb261","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/fa5559d6-f3d0-4682-8315-beab638eb261","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444050,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1MH0.30EmelDZ0QMM77pXBzzjmms6PGtlEueASpbo1JTxhWo"} 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":"08297f00-3d2b-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F04cba099-96de-44ce-875e-ebefb1444576","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F04cba099-96de-44ce-875e-ebefb1444576","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:27.953369658Z"}]},"request_id":"d22c6fba-a5ef-4a19-8bc5-d64a51f4ca21","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444050.170472} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"082930e0-3d2b-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffa5559d6-f3d0-4682-8315-beab638eb261","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffa5559d6-f3d0-4682-8315-beab638eb261","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:27.998243309Z"}]},"request_id":"1a5c1688-143b-4ad9-989a-7ddeb82eabb6","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444050.1749942} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"08297f00-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"GET /devices/04cba099-96de-44ce-875e-ebefb1444576? 200 19ms","method":"GET","requestID":"082930e0-3d2b-11ef-b23c-0125361f42d1","responseTime":19,"status":200,"url":"/devices/04cba099-96de-44ce-875e-ebefb1444576?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/fa5559d6-f3d0-4682-8315-beab638eb261? 200 21ms","method":"GET","requestID":"08297f00-3d2b-11ef-b23c-0125361f42d1","responseTime":21,"status":200,"url":"/devices/fa5559d6-f3d0-4682-8315-beab638eb261?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1015e904-b078-42b5-aeb8-b489cdc781d3"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1015e904-b078-42b5-aeb8-b489cdc781d3"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1015e904-b078-42b5-aeb8-b489cdc781d3"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1015e904-b078-42b5-aeb8-b489cdc781d3"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1015e904-b078-42b5-aeb8-b489cdc781d3"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1015e904-b078-42b5-aeb8-b489cdc781d3"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1015e904-b078-42b5-aeb8-b489cdc781d3"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1015e904-b078-42b5-aeb8-b489cdc781d3"},"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:58600","level":"info","msg":"Received request.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:30Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.954015,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/04cba099-96de-44ce-875e-ebefb1444576","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/04cba099-96de-44ce-875e-ebefb1444576","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444050,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1MH0.30EmelDZ0QMM77pXBzzjmms6PGtlEueASpbo1JTxhWo"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1015e904-b078-42b5-aeb8-b489cdc781d3"},"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":"08340650-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:47762","level":"info","msg":"Received request.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:30Z"} authorization-1 | {"client_addr":"127.0.0.1:47762","level":"info","msg":"Sent response.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.850867,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fa5559d6-f3d0-4682-8315-beab638eb261","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/fa5559d6-f3d0-4682-8315-beab638eb261","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444050,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1MH0.30EmelDZ0QMM77pXBzzjmms6PGtlEueASpbo1JTxhWo"} 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":"08345470-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:30Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F04cba099-96de-44ce-875e-ebefb1444576","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"668dd5fb-ca94-40e6-a817-c86d3c6827a2","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444050.2414699} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffa5559d6-f3d0-4682-8315-beab638eb261","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffa5559d6-f3d0-4682-8315-beab638eb261","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:27.998243309Z"}]},"request_id":"0aad333a-5b38-4ed4-a279-350eb77885bd","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444050.2436488} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.84048,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/04cba099-96de-44ce-875e-ebefb1444576","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/04cba099-96de-44ce-875e-ebefb1444576","object_type":"device","rebac_allow":false,"scope_allow":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":"0834a290-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} 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":"08345470-3d2b-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F04cba099-96de-44ce-875e-ebefb1444576","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F04cba099-96de-44ce-875e-ebefb1444576","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:27.953369658Z"}]},"request_id":"9f611163-46bb-444f-8d63-960d050b7435","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444050.2451208} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"08340650-3d2b-11ef-b23c-0125361f42d1"},"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/04cba099-96de-44ce-875e-ebefb1444576/signaling 200 22ms","method":"POST","requestID":"0834a290-3d2b-11ef-b23c-0125361f42d1","responseTime":22,"status":200,"url":"/devices/04cba099-96de-44ce-875e-ebefb1444576/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/fa5559d6-f3d0-4682-8315-beab638eb261? 200 26ms","method":"GET","requestID":"08345470-3d2b-11ef-b23c-0125361f42d1","responseTime":26,"status":200,"url":"/devices/fa5559d6-f3d0-4682-8315-beab638eb261?"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1015e904-b078-42b5-aeb8-b489cdc781d3#owner@http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1015e904-b078-42b5-aeb8-b489cdc781d3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"0bee8374-46a9-4205-b103-4402b37b1ad3","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444050.255712} 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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7151e179-cfb0-4c05-979f-08ca31e5f367","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444050.2560647} device-1 | {"level":"info","message":"GET /devices/04cba099-96de-44ce-875e-ebefb1444576? 200 29ms","method":"GET","requestID":"08340650-3d2b-11ef-b23c-0125361f42d1","responseTime":29,"status":200,"url":"/devices/04cba099-96de-44ce-875e-ebefb1444576?"} 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":"69d45a42267eb8f5f2fd4094d1e5062c"},"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:58600","level":"info","msg":"Received request.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:30Z"} authorization-1 | {"client_addr":"127.0.0.1:47762","level":"info","msg":"Received request.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:30Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffa5559d6-f3d0-4682-8315-beab638eb261","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cd5855df-6548-4d33-b3d5-513e07bd0d6a","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444050.2638984} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.219926,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fa5559d6-f3d0-4682-8315-beab638eb261","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fa5559d6-f3d0-4682-8315-beab638eb261","object_type":"device","rebac_allow":false,"scope_allow":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":"08389a30-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F04cba099-96de-44ce-875e-ebefb1444576","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9479d771-d5b9-47fb-a96f-bb1f5097737f","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444050.2656488} authorization-1 | {"client_addr":"127.0.0.1:47762","level":"info","msg":"Sent response.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.457633,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/04cba099-96de-44ce-875e-ebefb1444576","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/04cba099-96de-44ce-875e-ebefb1444576","object_type":"device","rebac_allow":false,"scope_allow":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":"0838e850-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/1015e904-b078-42b5-aeb8-b489cdc781d3","user":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"08/Jul/2024:13:07:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.157","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"69d45a42267eb8f5f2fd4094d1e5062c"} experiment-1 | {"level":"info","message":"POST /experiments? 201 150ms","method":"POST","requestID":"69d45a42267eb8f5f2fd4094d1e5062c","responseTime":150,"status":201,"url":"/experiments?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1MH0.30EmelDZ0QMM77pXBzzjmms6PGtlEueASpbo1JTxhWo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"447d36362ce43b6b8aa8345bcc091173","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/fa5559d6-f3d0-4682-8315-beab638eb261/signaling 200 16ms","method":"POST","requestID":"08389a30-3d2b-11ef-b23c-0125361f42d1","responseTime":16,"status":200,"url":"/devices/fa5559d6-f3d0-4682-8315-beab638eb261/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/04cba099-96de-44ce-875e-ebefb1444576/signaling 200 17ms","method":"POST","requestID":"0838e850-3d2b-11ef-b23c-0125361f42d1","responseTime":17,"status":200,"url":"/devices/04cba099-96de-44ce-875e-ebefb1444576/signaling"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:30Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.056814,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/04cba099-96de-44ce-875e-ebefb1444576","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/04cba099-96de-44ce-875e-ebefb1444576","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444050,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1MH0.30EmelDZ0QMM77pXBzzjmms6PGtlEueASpbo1JTxhWo"} 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":"447d36362ce43b6b8aa8345bcc091173"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:47762","level":"info","msg":"Received request.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:30Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F04cba099-96de-44ce-875e-ebefb1444576","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F04cba099-96de-44ce-875e-ebefb1444576","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:27.953369658Z"}]},"request_id":"5d2c530c-9dfd-4eab-816f-12cc71c33f5a","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444050.2888246} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffa5559d6-f3d0-4682-8315-beab638eb261","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8feb90ee-f8a6-45c8-ab1c-696f8f3f6119","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444050.288904} 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":"447d36362ce43b6b8aa8345bcc091173"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"client_addr":"127.0.0.1:47762","level":"info","msg":"Sent response.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.869912,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fa5559d6-f3d0-4682-8315-beab638eb261","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fa5559d6-f3d0-4682-8315-beab638eb261","object_type":"device","rebac_allow":false,"scope_allow":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":"083bf590-3d2b-11ef-b23c-0125361f42d1"},"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":"08/Jul/2024:13:07:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/04cba099-96de-44ce-875e-ebefb1444576? 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":"447d36362ce43b6b8aa8345bcc091173"} device-1 | {"level":"info","message":"GET /devices/04cba099-96de-44ce-875e-ebefb1444576? 200 20ms","method":"GET","requestID":"447d36362ce43b6b8aa8345bcc091173","responseTime":20,"status":200,"url":"/devices/04cba099-96de-44ce-875e-ebefb1444576?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/fa5559d6-f3d0-4682-8315-beab638eb261/signaling 200 16ms","method":"POST","requestID":"083bf590-3d2b-11ef-b23c-0125361f42d1","responseTime":16,"status":200,"url":"/devices/fa5559d6-f3d0-4682-8315-beab638eb261/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1015e904-b078-42b5-aeb8-b489cdc781d3"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1015e904-b078-42b5-aeb8-b489cdc781d3"},"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":"83dd8fc4-185e-45b7-bde0-f9f38babd517"},{"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":"49d9b8d7-0d1e-455c-93ba-b0fe5dceef47"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"833b820d-0dde-48e6-b8d4-9a92ad78bce5"}]},"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/fa5559d6-f3d0-4682-8315-beab638eb261"},{"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/04cba099-96de-44ce-875e-ebefb1444576"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1MH0.30EmelDZ0QMM77pXBzzjmms6PGtlEueASpbo1JTxhWo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7bcfeb7669206a5e1172b2147d0decee","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:30Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.592969,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:30Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444050,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1MH0.30EmelDZ0QMM77pXBzzjmms6PGtlEueASpbo1JTxhWo"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"083eb4b0-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"client_addr":"127.0.0.1:47762","level":"info","msg":"Received request.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:30Z"} authorization-1 | {"client_addr":"127.0.0.1:47762","level":"info","msg":"Sent response.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.523876,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fa5559d6-f3d0-4682-8315-beab638eb261","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/fa5559d6-f3d0-4682-8315-beab638eb261","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444050,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1MH0.30EmelDZ0QMM77pXBzzjmms6PGtlEueASpbo1JTxhWo"} 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":"7bcfeb7669206a5e1172b2147d0decee"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffa5559d6-f3d0-4682-8315-beab638eb261","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffa5559d6-f3d0-4682-8315-beab638eb261","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:27.998243309Z"}]},"request_id":"ccaf0bac-555b-4e34-a1d0-a6622bddf813","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444050.3070667} 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":"7bcfeb7669206a5e1172b2147d0decee"},"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":"08/Jul/2024:13:07:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/fa5559d6-f3d0-4682-8315-beab638eb261? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7bcfeb7669206a5e1172b2147d0decee"} device-1 | {"level":"info","message":"GET /devices/fa5559d6-f3d0-4682-8315-beab638eb261? 200 9ms","method":"GET","requestID":"7bcfeb7669206a5e1172b2147d0decee","responseTime":9,"status":200,"url":"/devices/fa5559d6-f3d0-4682-8315-beab638eb261?"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","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%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"2c16e9a5-ffb2-4a5c-ba72-6566f8de620a","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444050.3113472} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c69a98a7-082a-41ed-8fbc-87a506857797","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444050.3115947} 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":"083eb4b0-3d2b-11ef-b23c-0125361f42d1"},"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/71ba00de-4ccd-45a9-850c-66a48e771a0e'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/71ba00de-4ccd-45a9-850c-66a48e771a0e'"} 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 24ms","method":"POST","requestID":"083eb4b0-3d2b-11ef-b23c-0125361f42d1","responseTime":24,"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/1015e904-b078-42b5-aeb8-b489cdc781d3"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:30Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F04cba099-96de-44ce-875e-ebefb1444576","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"54a26e97-f728-437c-8d76-aa9afd266242","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444050.3539376} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.794933,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/04cba099-96de-44ce-875e-ebefb1444576","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/04cba099-96de-44ce-875e-ebefb1444576","object_type":"device","rebac_allow":false,"scope_allow":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":"084655d0-3d2b-11ef-b23c-0125361f42d1"},"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/04cba099-96de-44ce-875e-ebefb1444576/signaling 200 11ms","method":"POST","requestID":"084655d0-3d2b-11ef-b23c-0125361f42d1","responseTime":11,"status":200,"url":"/devices/04cba099-96de-44ce-875e-ebefb1444576/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:30Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffa5559d6-f3d0-4682-8315-beab638eb261","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"725621c9-f74e-4db6-9e45-11279a96157c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444050.3690152} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.112416,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fa5559d6-f3d0-4682-8315-beab638eb261","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fa5559d6-f3d0-4682-8315-beab638eb261","object_type":"device","rebac_allow":false,"scope_allow":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":"084878b0-3d2b-11ef-b23c-0125361f42d1"},"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/fa5559d6-f3d0-4682-8315-beab638eb261/signaling 200 10ms","method":"POST","requestID":"084878b0-3d2b-11ef-b23c-0125361f42d1","responseTime":10,"status":200,"url":"/devices/fa5559d6-f3d0-4682-8315-beab638eb261/signaling"} device-1 | {"data":{"peerconnection":"71ba00de-4ccd-45a9-850c-66a48e771a0e","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/71ba00de-4ccd-45a9-850c-66a48e771a0e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"71ba00de-4ccd-45a9-850c-66a48e771a0e","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":"5427d7912424ee37782d67f8dbdc5c4f","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/fa5559d6-f3d0-4682-8315-beab638eb261"},{"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/04cba099-96de-44ce-875e-ebefb1444576"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/71ba00de-4ccd-45a9-850c-66a48e771a0e"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"5427d7912424ee37782d67f8dbdc5c4f","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"5427d7912424ee37782d67f8dbdc5c4f"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/04cba099-96de-44ce-875e-ebefb1444576'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/04cba099-96de-44ce-875e-ebefb1444576'"} device-1 | {"data":{"peerconnection":"71ba00de-4ccd-45a9-850c-66a48e771a0e","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"71ba00de-4ccd-45a9-850c-66a48e771a0e","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/71ba00de-4ccd-45a9-850c-66a48e771a0e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"71ba00de-4ccd-45a9-850c-66a48e771a0e","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":"7a4f4d8dd4b7e04c72671d4d69219f18","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/fa5559d6-f3d0-4682-8315-beab638eb261"},{"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/04cba099-96de-44ce-875e-ebefb1444576"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/71ba00de-4ccd-45a9-850c-66a48e771a0e"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:32Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F71ba00de-4ccd-45a9-850c-66a48e771a0e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"842b2e45-34ac-460f-a394-3fb5789e41ac","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444052.4796715} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.973964,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/71ba00de-4ccd-45a9-850c-66a48e771a0e","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/71ba00de-4ccd-45a9-850c-66a48e771a0e","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":"098a4780-3d2b-11ef-b23c-0125361f42d1"},"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/71ba00de-4ccd-45a9-850c-66a48e771a0e 200 13ms","method":"GET","requestID":"098a4780-3d2b-11ef-b23c-0125361f42d1","responseTime":13,"status":200,"url":"/peerconnections/71ba00de-4ccd-45a9-850c-66a48e771a0e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 45ms","method":"POST","requestID":"7a4f4d8dd4b7e04c72671d4d69219f18","responseTime":45,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch","requestID":"7a4f4d8dd4b7e04c72671d4d69219f18"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:32Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffa5559d6-f3d0-4682-8315-beab638eb261","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"17c6fee8-b3ac-4eaa-ad8f-bd92aa355db7","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444052.517015} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.573788,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fa5559d6-f3d0-4682-8315-beab638eb261","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fa5559d6-f3d0-4682-8315-beab638eb261","object_type":"device","rebac_allow":false,"scope_allow":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":"099013e0-3d2b-11ef-b23c-0125361f42d1"},"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/fa5559d6-f3d0-4682-8315-beab638eb261/signaling 200 14ms","method":"POST","requestID":"099013e0-3d2b-11ef-b23c-0125361f42d1","responseTime":14,"status":200,"url":"/devices/fa5559d6-f3d0-4682-8315-beab638eb261/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:32Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F04cba099-96de-44ce-875e-ebefb1444576","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2f8928a3-84bc-484d-a392-b576c1942f8c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444052.5337214} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.026692,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/04cba099-96de-44ce-875e-ebefb1444576","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/04cba099-96de-44ce-875e-ebefb1444576","object_type":"device","rebac_allow":false,"scope_allow":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":"0992abf0-3d2b-11ef-b23c-0125361f42d1"},"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/04cba099-96de-44ce-875e-ebefb1444576/signaling 200 13ms","method":"POST","requestID":"0992abf0-3d2b-11ef-b23c-0125361f42d1","responseTime":13,"status":200,"url":"/devices/04cba099-96de-44ce-875e-ebefb1444576/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1Mn0.OnJmNT0gOsCHViwk2by-zGGDukfDnMfPhVfhTD6H4qE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f9fd0062870b9b586f9359b47714ed47","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/1015e904-b078-42b5-aeb8-b489cdc781d3"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:32Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.36983,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1015e904-b078-42b5-aeb8-b489cdc781d3","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/1015e904-b078-42b5-aeb8-b489cdc781d3","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444052,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1Mn0.OnJmNT0gOsCHViwk2by-zGGDukfDnMfPhVfhTD6H4qE"} 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":"f9fd0062870b9b586f9359b47714ed47"},"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/1015e904-b078-42b5-aeb8-b489cdc781d3"} gateway-1 | {"time_local":"08/Jul/2024:13:07:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/1015e904-b078-42b5-aeb8-b489cdc781d3 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f9fd0062870b9b586f9359b47714ed47"} experiment-1 | {"level":"info","message":"GET /experiments/1015e904-b078-42b5-aeb8-b489cdc781d3 200 16ms","method":"GET","requestID":"f9fd0062870b9b586f9359b47714ed47","responseTime":16,"status":200,"url":"/experiments/1015e904-b078-42b5-aeb8-b489cdc781d3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1Mn0.OnJmNT0gOsCHViwk2by-zGGDukfDnMfPhVfhTD6H4qE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"93bf5b83a5ca0b8a469b30d6167c589f","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/1015e904-b078-42b5-aeb8-b489cdc781d3"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:32Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.154643,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:32Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1015e904-b078-42b5-aeb8-b489cdc781d3","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/1015e904-b078-42b5-aeb8-b489cdc781d3","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444052,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1Mn0.OnJmNT0gOsCHViwk2by-zGGDukfDnMfPhVfhTD6H4qE"} 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":"93bf5b83a5ca0b8a469b30d6167c589f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1015e904-b078-42b5-aeb8-b489cdc781d3"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:32Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.232668,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:32Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/71ba00de-4ccd-45a9-850c-66a48e771a0e","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:http://localhost/peerconnections/71ba00de-4ccd-45a9-850c-66a48e771a0e","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444052,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1Mn0.OnJmNT0gOsCHViwk2by-zGGDukfDnMfPhVfhTD6H4qE"} 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":"099e44b0-3d2b-11ef-b23c-0125361f42d1"},"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/71ba00de-4ccd-45a9-850c-66a48e771a0e' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/71ba00de-4ccd-45a9-850c-66a48e771a0e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"71ba00de-4ccd-45a9-850c-66a48e771a0e","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F71ba00de-4ccd-45a9-850c-66a48e771a0e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F71ba00de-4ccd-45a9-850c-66a48e771a0e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"7ad67f8f-5a16-47b6-9615-e391fcdb276c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444052.6278062} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"ffc7c62a599dd7e417685065f90c046d","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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"718d9a03-505f-4785-8330-c7cff944bd02","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444052.628396} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/fa5559d6-f3d0-4682-8315-beab638eb261"},{"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/04cba099-96de-44ce-875e-ebefb1444576"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/71ba00de-4ccd-45a9-850c-66a48e771a0e"}}},"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":"099e44b0-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0bcba08666e436823c6293d1aca54ba7","responseTime":3,"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/fa5559d6-f3d0-4682-8315-beab638eb261"},{"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/04cba099-96de-44ce-875e-ebefb1444576"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/71ba00de-4ccd-45a9-850c-66a48e771a0e"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"71ba00de-4ccd-45a9-850c-66a48e771a0e","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/71ba00de-4ccd-45a9-850c-66a48e771a0e 204 47ms","method":"DELETE","requestID":"099e44b0-3d2b-11ef-b23c-0125361f42d1","responseTime":47,"status":204,"url":"/peerconnections/71ba00de-4ccd-45a9-850c-66a48e771a0e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1015e904-b078-42b5-aeb8-b489cdc781d3"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:32Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffa5559d6-f3d0-4682-8315-beab638eb261","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d2f416de-f213-4968-8327-797a10d37c59","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444052.6807148} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.054168,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fa5559d6-f3d0-4682-8315-beab638eb261","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fa5559d6-f3d0-4682-8315-beab638eb261","object_type":"device","rebac_allow":false,"scope_allow":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":"09a8f310-3d2b-11ef-b23c-0125361f42d1"},"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/fa5559d6-f3d0-4682-8315-beab638eb261/signaling 200 13ms","method":"POST","requestID":"09a8f310-3d2b-11ef-b23c-0125361f42d1","responseTime":13,"status":200,"url":"/devices/fa5559d6-f3d0-4682-8315-beab638eb261/signaling"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1015e904-b078-42b5-aeb8-b489cdc781d3': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1015e904-b078-42b5-aeb8-b489cdc781d3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"9b24251a-c9b2-4694-accf-791e6c1d260a","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444052.6898577} 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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a2bb2e0b-533e-4f27-874c-9d407b0f4539","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444052.6906347} 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":"93bf5b83a5ca0b8a469b30d6167c589f"},"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:58600","level":"info","msg":"Received request.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:32Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F04cba099-96de-44ce-875e-ebefb1444576","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7b0ac0b8-8906-48a3-a647-0d3396bc7404","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444052.6980145} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.960519,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/04cba099-96de-44ce-875e-ebefb1444576","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/04cba099-96de-44ce-875e-ebefb1444576","object_type":"device","rebac_allow":false,"scope_allow":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":"09abb230-3d2b-11ef-b23c-0125361f42d1"},"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/04cba099-96de-44ce-875e-ebefb1444576/signaling 200 14ms","method":"POST","requestID":"09abb230-3d2b-11ef-b23c-0125361f42d1","responseTime":14,"status":200,"url":"/devices/04cba099-96de-44ce-875e-ebefb1444576/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/1015e904-b078-42b5-aeb8-b489cdc781d3"} gateway-1 | {"time_local":"08/Jul/2024:13:07:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/1015e904-b078-42b5-aeb8-b489cdc781d3 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.179","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"93bf5b83a5ca0b8a469b30d6167c589f"} gateway-1 | {"time_local":"08/Jul/2024:13:07:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3191","request_time":"4.214","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"72d6a03759ac9d11c161c8ba3b4ac1f2"} experiment-1 | {"level":"info","message":"DELETE /experiments/1015e904-b078-42b5-aeb8-b489cdc781d3 204 177ms","method":"DELETE","requestID":"93bf5b83a5ca0b8a469b30d6167c589f","responseTime":177,"status":204,"url":"/experiments/1015e904-b078-42b5-aeb8-b489cdc781d3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1Mn0.OnJmNT0gOsCHViwk2by-zGGDukfDnMfPhVfhTD6H4qE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6f5e3577e5bbd0e68cb821f17829bfac","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 142ms","method":"POST","requestID":"ffc7c62a599dd7e417685065f90c046d","responseTime":142,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.146","http_referrer":"","http_user_agent":"node-fetch","requestID":"ffc7c62a599dd7e417685065f90c046d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 140ms","method":"POST","requestID":"0bcba08666e436823c6293d1aca54ba7","responseTime":140,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.147","http_referrer":"","http_user_agent":"node-fetch","requestID":"0bcba08666e436823c6293d1aca54ba7"} gateway-1 | {"time_local":"08/Jul/2024:13:07:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2704","request_time":"2.731","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"dc73b85d50caf213d4d0c71bb9d85cee"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:32Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.97404,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444052,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1Mn0.OnJmNT0gOsCHViwk2by-zGGDukfDnMfPhVfhTD6H4qE"} 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":"6f5e3577e5bbd0e68cb821f17829bfac"},"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/fa5559d6-f3d0-4682-8315-beab638eb261' 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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff764d875-58a6-4074-b9de-5d7f78280a38","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c71f9f59-88cf-43de-b98a-fa44c49da86c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444052.7918096} 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":"6f5e3577e5bbd0e68cb821f17829bfac"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"47fd9d6d-46dc-400e-93c4-dbf4ee867ce9","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444052.796264} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/04cba099-96de-44ce-875e-ebefb1444576' closed"} 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":"6f5e3577e5bbd0e68cb821f17829bfac"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff764d875-58a6-4074-b9de-5d7f78280a38","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"7c85d538-4987-4ee2-bce4-0d49e7501d98","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444052.8115335} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"530a2645-0f01-4d21-bf07-78737eb84b53","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444052.8116739} 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":"6f5e3577e5bbd0e68cb821f17829bfac"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff764d875-58a6-4074-b9de-5d7f78280a38","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff764d875-58a6-4074-b9de-5d7f78280a38","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:32.811509191Z"}]},"request_id":"4a9aac91-77d5-46ca-a3f4-b38efbf4fa4e","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444052.815772} 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":"6f5e3577e5bbd0e68cb821f17829bfac"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:07:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6f5e3577e5bbd0e68cb821f17829bfac"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"6f5e3577e5bbd0e68cb821f17829bfac","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1Mn0.OnJmNT0gOsCHViwk2by-zGGDukfDnMfPhVfhTD6H4qE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"78fe16c7c689f32d24bc3d51fa1844e4","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:32Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.739292,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444052,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1Mn0.OnJmNT0gOsCHViwk2by-zGGDukfDnMfPhVfhTD6H4qE"} 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":"78fe16c7c689f32d24bc3d51fa1844e4"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e1d20b2-deb5-463b-8da9-242d5b98d0f5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"abf823ad-2f10-4f26-9007-cf93872423ce","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444052.839065} 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":"78fe16c7c689f32d24bc3d51fa1844e4"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"98b626f5-83fc-418c-8f0c-4ffa97036988","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444052.8438387} 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":"78fe16c7c689f32d24bc3d51fa1844e4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e1d20b2-deb5-463b-8da9-242d5b98d0f5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"5f8ddc34-e5b7-4351-bfc9-7a123bbd55ba","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444052.8546622} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e94fc1b9-83f4-4f9b-81f6-cee2fbe25439","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444052.854862} 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":"78fe16c7c689f32d24bc3d51fa1844e4"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e1d20b2-deb5-463b-8da9-242d5b98d0f5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e1d20b2-deb5-463b-8da9-242d5b98d0f5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:32.854639397Z"}]},"request_id":"7414359a-d824-4895-8a1e-24d9cbce640a","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444052.8591578} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"78fe16c7c689f32d24bc3d51fa1844e4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:07:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"78fe16c7c689f32d24bc3d51fa1844e4"} device-1 | {"level":"info","message":"POST /devices? 201 39ms","method":"POST","requestID":"78fe16c7c689f32d24bc3d51fa1844e4","responseTime":39,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1M30.fHbnZQ28Bge5-_rLs6ORUvaMn-Gr_AJ3NCncTlrjR9g","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"39a54b6574d9d9ef233c61fb2fdfea55","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:33Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.958153,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:33Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f764d875-58a6-4074-b9de-5d7f78280a38","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/f764d875-58a6-4074-b9de-5d7f78280a38","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444053,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1M30.fHbnZQ28Bge5-_rLs6ORUvaMn-Gr_AJ3NCncTlrjR9g"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"39a54b6574d9d9ef233c61fb2fdfea55"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff764d875-58a6-4074-b9de-5d7f78280a38","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff764d875-58a6-4074-b9de-5d7f78280a38","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:32.811509191Z"}]},"request_id":"e6b2c3f4-de0c-4bf1-aed6-967e0575ad12","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444053.3510349} 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":"39a54b6574d9d9ef233c61fb2fdfea55"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"729b08da-e018-4790-b093-0b6bb87e96bb","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444053.3577573} 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":"39a54b6574d9d9ef233c61fb2fdfea55"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff764d875-58a6-4074-b9de-5d7f78280a38","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff764d875-58a6-4074-b9de-5d7f78280a38","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:32.811509191Z"}]},"request_id":"68d83315-f6dd-4ea0-ae87-fb8c82e43d04","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444053.3708382} 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":"39a54b6574d9d9ef233c61fb2fdfea55"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"PATCH /devices/f764d875-58a6-4074-b9de-5d7f78280a38 200 38ms","method":"PATCH","requestID":"39a54b6574d9d9ef233c61fb2fdfea55","responseTime":38,"status":200,"url":"/devices/f764d875-58a6-4074-b9de-5d7f78280a38"} gateway-1 | {"time_local":"08/Jul/2024:13:07:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/f764d875-58a6-4074-b9de-5d7f78280a38 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.043","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"39a54b6574d9d9ef233c61fb2fdfea55"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1M30.fHbnZQ28Bge5-_rLs6ORUvaMn-Gr_AJ3NCncTlrjR9g","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"58811bec06a60816e6cc246671f67e44","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:33Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.082099,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:33Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f764d875-58a6-4074-b9de-5d7f78280a38","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/f764d875-58a6-4074-b9de-5d7f78280a38","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444053,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1M30.fHbnZQ28Bge5-_rLs6ORUvaMn-Gr_AJ3NCncTlrjR9g"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"58811bec06a60816e6cc246671f67e44"},"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":"08/Jul/2024:13:07:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f764d875-58a6-4074-b9de-5d7f78280a38/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.024","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"58811bec06a60816e6cc246671f67e44"} device-1 | {"level":"info","message":"POST /devices/f764d875-58a6-4074-b9de-5d7f78280a38/websocket 200 20ms","method":"POST","requestID":"58811bec06a60816e6cc246671f67e44","responseTime":20,"status":200,"url":"/devices/f764d875-58a6-4074-b9de-5d7f78280a38/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f764d875-58a6-4074-b9de-5d7f78280a38' 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":"8003dd9368f0cccb08323c3e23c775c9","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:07:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/8e1d20b2-deb5-463b-8da9-242d5b98d0f5/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":"8003dd9368f0cccb08323c3e23c775c9"} device-1 | {"level":"info","message":"OPTIONS /devices/8e1d20b2-deb5-463b-8da9-242d5b98d0f5/websocket 200 1ms","method":"OPTIONS","requestID":"8003dd9368f0cccb08323c3e23c775c9","responseTime":1,"status":200,"url":"/devices/8e1d20b2-deb5-463b-8da9-242d5b98d0f5/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1NH0.uJpTp50_CQwz7kPP-xCvDOJ-LeCBGxOwLLq3qIk4OXg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"37a925fc2325843efe93fbe3e0c11f46","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:34Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.232366,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:34Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e1d20b2-deb5-463b-8da9-242d5b98d0f5","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/8e1d20b2-deb5-463b-8da9-242d5b98d0f5","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444054,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1NH0.uJpTp50_CQwz7kPP-xCvDOJ-LeCBGxOwLLq3qIk4OXg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"37a925fc2325843efe93fbe3e0c11f46"},"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":"08/Jul/2024:13:07:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8e1d20b2-deb5-463b-8da9-242d5b98d0f5/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"37a925fc2325843efe93fbe3e0c11f46"} device-1 | {"level":"info","message":"POST /devices/8e1d20b2-deb5-463b-8da9-242d5b98d0f5/websocket 200 22ms","method":"POST","requestID":"37a925fc2325843efe93fbe3e0c11f46","responseTime":22,"status":200,"url":"/devices/8e1d20b2-deb5-463b-8da9-242d5b98d0f5/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/8e1d20b2-deb5-463b-8da9-242d5b98d0f5' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1NH0.uJpTp50_CQwz7kPP-xCvDOJ-LeCBGxOwLLq3qIk4OXg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"0e1ea18905fb076ca4b57ca56f0eca31","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:34Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.256162,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f764d875-58a6-4074-b9de-5d7f78280a38","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/f764d875-58a6-4074-b9de-5d7f78280a38","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444054,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1NH0.uJpTp50_CQwz7kPP-xCvDOJ-LeCBGxOwLLq3qIk4OXg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0e1ea18905fb076ca4b57ca56f0eca31"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff764d875-58a6-4074-b9de-5d7f78280a38","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff764d875-58a6-4074-b9de-5d7f78280a38","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:32.811509191Z"}]},"request_id":"7b37891f-9a05-4475-91cb-fb35cabb8c64","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444054.947297} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0e1ea18905fb076ca4b57ca56f0eca31"},"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/f764d875-58a6-4074-b9de-5d7f78280a38? 200 17ms","method":"GET","requestID":"0e1ea18905fb076ca4b57ca56f0eca31","responseTime":17,"status":200,"url":"/devices/f764d875-58a6-4074-b9de-5d7f78280a38?"} gateway-1 | {"time_local":"08/Jul/2024:13:07:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f764d875-58a6-4074-b9de-5d7f78280a38? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0e1ea18905fb076ca4b57ca56f0eca31"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1NH0.uJpTp50_CQwz7kPP-xCvDOJ-LeCBGxOwLLq3qIk4OXg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"c20ed3f01fd29c9b2d69fee2e96ed0f5","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:34Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.270274,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e1d20b2-deb5-463b-8da9-242d5b98d0f5","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/8e1d20b2-deb5-463b-8da9-242d5b98d0f5","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444054,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1NH0.uJpTp50_CQwz7kPP-xCvDOJ-LeCBGxOwLLq3qIk4OXg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c20ed3f01fd29c9b2d69fee2e96ed0f5"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e1d20b2-deb5-463b-8da9-242d5b98d0f5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e1d20b2-deb5-463b-8da9-242d5b98d0f5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:32.854639397Z"}]},"request_id":"e9c7b08f-4078-4fca-9537-4fd86eb46e87","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444054.9725182} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c20ed3f01fd29c9b2d69fee2e96ed0f5"},"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/8e1d20b2-deb5-463b-8da9-242d5b98d0f5? 200 17ms","method":"GET","requestID":"c20ed3f01fd29c9b2d69fee2e96ed0f5","responseTime":17,"status":200,"url":"/devices/8e1d20b2-deb5-463b-8da9-242d5b98d0f5?"} gateway-1 | {"time_local":"08/Jul/2024:13:07:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8e1d20b2-deb5-463b-8da9-242d5b98d0f5? 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":"c20ed3f01fd29c9b2d69fee2e96ed0f5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1NH0.uJpTp50_CQwz7kPP-xCvDOJ-LeCBGxOwLLq3qIk4OXg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"643d25aee5bc741957d6ead8adb01e17","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:58600","level":"info","msg":"Received request.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:34Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.269988,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:34Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444054,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1NH0.uJpTp50_CQwz7kPP-xCvDOJ-LeCBGxOwLLq3qIk4OXg"} 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":"643d25aee5bc741957d6ead8adb01e17"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d063ce2d-21ab-4a46-a42c-d15cc351afc2"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d063ce2d-21ab-4a46-a42c-d15cc351afc2"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d063ce2d-21ab-4a46-a42c-d15cc351afc2"},"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:58600","level":"info","msg":"Received request.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:35Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.83458,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f764d875-58a6-4074-b9de-5d7f78280a38","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/f764d875-58a6-4074-b9de-5d7f78280a38","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444054,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1NH0.uJpTp50_CQwz7kPP-xCvDOJ-LeCBGxOwLLq3qIk4OXg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0b10c070-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:36158","level":"info","msg":"Received request.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:35Z"} authorization-1 | {"client_addr":"127.0.0.1:36158","level":"info","msg":"Sent response.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.733761,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e1d20b2-deb5-463b-8da9-242d5b98d0f5","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/8e1d20b2-deb5-463b-8da9-242d5b98d0f5","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444054,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1NH0.uJpTp50_CQwz7kPP-xCvDOJ-LeCBGxOwLLq3qIk4OXg"} 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":"0b110e90-3d2b-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff764d875-58a6-4074-b9de-5d7f78280a38","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff764d875-58a6-4074-b9de-5d7f78280a38","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:32.811509191Z"}]},"request_id":"38dcd95b-3506-4841-bf1f-88fb0ba379e5","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444055.0427556} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0b10c070-3d2b-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e1d20b2-deb5-463b-8da9-242d5b98d0f5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e1d20b2-deb5-463b-8da9-242d5b98d0f5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:32.854639397Z"}]},"request_id":"fc0f20f5-b676-4037-ab0a-44123b958667","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444055.0480216} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0b110e90-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"GET /devices/f764d875-58a6-4074-b9de-5d7f78280a38? 200 18ms","method":"GET","requestID":"0b10c070-3d2b-11ef-b23c-0125361f42d1","responseTime":18,"status":200,"url":"/devices/f764d875-58a6-4074-b9de-5d7f78280a38?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/8e1d20b2-deb5-463b-8da9-242d5b98d0f5? 200 21ms","method":"GET","requestID":"0b110e90-3d2b-11ef-b23c-0125361f42d1","responseTime":21,"status":200,"url":"/devices/8e1d20b2-deb5-463b-8da9-242d5b98d0f5?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d063ce2d-21ab-4a46-a42c-d15cc351afc2"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d063ce2d-21ab-4a46-a42c-d15cc351afc2"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d063ce2d-21ab-4a46-a42c-d15cc351afc2"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d063ce2d-21ab-4a46-a42c-d15cc351afc2"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d063ce2d-21ab-4a46-a42c-d15cc351afc2"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d063ce2d-21ab-4a46-a42c-d15cc351afc2"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d063ce2d-21ab-4a46-a42c-d15cc351afc2"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d063ce2d-21ab-4a46-a42c-d15cc351afc2"},"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:58600","level":"info","msg":"Received request.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:35Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.228349,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:35Z"} authorization-1 | {"client_addr":"127.0.0.1:36158","level":"info","msg":"Received request.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:35Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d063ce2d-21ab-4a46-a42c-d15cc351afc2"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f764d875-58a6-4074-b9de-5d7f78280a38","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/f764d875-58a6-4074-b9de-5d7f78280a38","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444054,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1NH0.uJpTp50_CQwz7kPP-xCvDOJ-LeCBGxOwLLq3qIk4OXg"} 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":"0b1ca750-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:36158","level":"info","msg":"Sent response.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.485603,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e1d20b2-deb5-463b-8da9-242d5b98d0f5","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/8e1d20b2-deb5-463b-8da9-242d5b98d0f5","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444054,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1NH0.uJpTp50_CQwz7kPP-xCvDOJ-LeCBGxOwLLq3qIk4OXg"} 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":"0b1d1c80-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:35Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff764d875-58a6-4074-b9de-5d7f78280a38","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"23ec1aaf-2e68-4657-b3c5-be15f4c4ef78","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444055.1236217} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.515323,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f764d875-58a6-4074-b9de-5d7f78280a38","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f764d875-58a6-4074-b9de-5d7f78280a38","object_type":"device","rebac_allow":false,"scope_allow":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":"0b1d91b0-3d2b-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e1d20b2-deb5-463b-8da9-242d5b98d0f5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e1d20b2-deb5-463b-8da9-242d5b98d0f5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:32.854639397Z"}]},"request_id":"516af17e-a310-42b7-b549-67617c5cd571","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444055.1284716} 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":"0b1d1c80-3d2b-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff764d875-58a6-4074-b9de-5d7f78280a38","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff764d875-58a6-4074-b9de-5d7f78280a38","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:32.811509191Z"}]},"request_id":"8ff364a9-da61-4174-be93-2ab7513fead0","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444055.1325343} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0b1ca750-3d2b-11ef-b23c-0125361f42d1"},"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/f764d875-58a6-4074-b9de-5d7f78280a38/signaling 200 21ms","method":"POST","requestID":"0b1d91b0-3d2b-11ef-b23c-0125361f42d1","responseTime":21,"status":200,"url":"/devices/f764d875-58a6-4074-b9de-5d7f78280a38/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/8e1d20b2-deb5-463b-8da9-242d5b98d0f5? 200 31ms","method":"GET","requestID":"0b1d1c80-3d2b-11ef-b23c-0125361f42d1","responseTime":31,"status":200,"url":"/devices/8e1d20b2-deb5-463b-8da9-242d5b98d0f5?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/f764d875-58a6-4074-b9de-5d7f78280a38? 200 36ms","method":"GET","requestID":"0b1ca750-3d2b-11ef-b23c-0125361f42d1","responseTime":36,"status":200,"url":"/devices/f764d875-58a6-4074-b9de-5d7f78280a38?"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:35Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e1d20b2-deb5-463b-8da9-242d5b98d0f5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0fc83eb2-7ae7-4a0f-b8f1-926076e02353","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444055.1456249} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd063ce2d-21ab-4a46-a42c-d15cc351afc2#owner@http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd063ce2d-21ab-4a46-a42c-d15cc351afc2","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"70cf1098-d676-4e8a-84a2-2adf4b7bb7bf","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444055.14643} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6a01b339-2254-4afc-a96d-7e16b09c1f75","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444055.1464453} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.834293,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:35Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e1d20b2-deb5-463b-8da9-242d5b98d0f5","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8e1d20b2-deb5-463b-8da9-242d5b98d0f5","object_type":"device","rebac_allow":false,"scope_allow":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":"0b213b30-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"level":"info","message":"POST /relations/update 200 29ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"643d25aee5bc741957d6ead8adb01e17"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":29}} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:35Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/8e1d20b2-deb5-463b-8da9-242d5b98d0f5/signaling 200 18ms","method":"POST","requestID":"0b213b30-3d2b-11ef-b23c-0125361f42d1","responseTime":18,"status":200,"url":"/devices/8e1d20b2-deb5-463b-8da9-242d5b98d0f5/signaling"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff764d875-58a6-4074-b9de-5d7f78280a38","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d5d52825-525f-460b-ab55-157d6c24d425","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444055.1580458} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.619425,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f764d875-58a6-4074-b9de-5d7f78280a38","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f764d875-58a6-4074-b9de-5d7f78280a38","object_type":"device","rebac_allow":false,"scope_allow":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":"0b2273b0-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/d063ce2d-21ab-4a46-a42c-d15cc351afc2","user":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment-1 | {"level":"info","message":"POST /experiments? 201 176ms","method":"POST","requestID":"643d25aee5bc741957d6ead8adb01e17","responseTime":176,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"08/Jul/2024:13:07:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.182","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"643d25aee5bc741957d6ead8adb01e17"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/f764d875-58a6-4074-b9de-5d7f78280a38/signaling 200 16ms","method":"POST","requestID":"0b2273b0-3d2b-11ef-b23c-0125361f42d1","responseTime":16,"status":200,"url":"/devices/f764d875-58a6-4074-b9de-5d7f78280a38/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1NX0.mhOrKWi_72kOcLJ2PYnUIT0TwmgN1H35VcoADspTr_Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4644fde66ef1c4f7264f6d00e7cb55e9","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:35Z"} authorization-1 | {"client_addr":"127.0.0.1:36158","level":"info","msg":"Received request.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:35Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e1d20b2-deb5-463b-8da9-242d5b98d0f5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8905e7a1-7dc5-4fe5-89b3-cffb85616bad","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444055.1720183} authorization-1 | {"client_addr":"127.0.0.1:36158","level":"info","msg":"Sent response.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.127807,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f764d875-58a6-4074-b9de-5d7f78280a38","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/f764d875-58a6-4074-b9de-5d7f78280a38","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444055,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1NX0.mhOrKWi_72kOcLJ2PYnUIT0TwmgN1H35VcoADspTr_Q"} 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":"4644fde66ef1c4f7264f6d00e7cb55e9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.250906,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e1d20b2-deb5-463b-8da9-242d5b98d0f5","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8e1d20b2-deb5-463b-8da9-242d5b98d0f5","object_type":"device","rebac_allow":false,"scope_allow":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":"0b2559e0-3d2b-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff764d875-58a6-4074-b9de-5d7f78280a38","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff764d875-58a6-4074-b9de-5d7f78280a38","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:32.811509191Z"}]},"request_id":"522e9151-348b-4e00-8970-1f43cb774ab0","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444055.1772878} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/8e1d20b2-deb5-463b-8da9-242d5b98d0f5/signaling 200 12ms","method":"POST","requestID":"0b2559e0-3d2b-11ef-b23c-0125361f42d1","responseTime":12,"status":200,"url":"/devices/8e1d20b2-deb5-463b-8da9-242d5b98d0f5/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":"4644fde66ef1c4f7264f6d00e7cb55e9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d063ce2d-21ab-4a46-a42c-d15cc351afc2"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d063ce2d-21ab-4a46-a42c-d15cc351afc2"},"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":"ec3270ff-75f7-402e-887b-f57895aa0f27"},{"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":"f6ad76a2-68a1-4990-a994-00e29bb18e2a"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"975d7383-d67e-4c63-af56-6187bd2d3f8a"}]},"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/8e1d20b2-deb5-463b-8da9-242d5b98d0f5"},{"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/f764d875-58a6-4074-b9de-5d7f78280a38"}],"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":"08/Jul/2024:13:07:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f764d875-58a6-4074-b9de-5d7f78280a38? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4644fde66ef1c4f7264f6d00e7cb55e9"} device-1 | {"level":"info","message":"GET /devices/f764d875-58a6-4074-b9de-5d7f78280a38? 200 15ms","method":"GET","requestID":"4644fde66ef1c4f7264f6d00e7cb55e9","responseTime":15,"status":200,"url":"/devices/f764d875-58a6-4074-b9de-5d7f78280a38?"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:35Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.876168,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:35Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444054,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1NH0.uJpTp50_CQwz7kPP-xCvDOJ-LeCBGxOwLLq3qIk4OXg"} 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":"0b27a3d0-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1NX0.mhOrKWi_72kOcLJ2PYnUIT0TwmgN1H35VcoADspTr_Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2b71532dd7ff5581c3c6644b74c540e7","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:35Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.798016,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e1d20b2-deb5-463b-8da9-242d5b98d0f5","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/8e1d20b2-deb5-463b-8da9-242d5b98d0f5","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444055,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1NX0.mhOrKWi_72kOcLJ2PYnUIT0TwmgN1H35VcoADspTr_Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2b71532dd7ff5581c3c6644b74c540e7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","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%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"9b270484-e102-453e-9bb9-39d7b268d903","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444055.1965375} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a7b4a8a6-2596-483a-8c55-e2f81e44f7fc","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444055.1969192} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e1d20b2-deb5-463b-8da9-242d5b98d0f5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e1d20b2-deb5-463b-8da9-242d5b98d0f5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:32.854639397Z"}]},"request_id":"3a9f7543-bfa6-4f07-bc91-48b4c34f9774","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444055.1975539} 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":"0b27a3d0-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2b71532dd7ff5581c3c6644b74c540e7"},"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":"08/Jul/2024:13:07:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8e1d20b2-deb5-463b-8da9-242d5b98d0f5? 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":"2b71532dd7ff5581c3c6644b74c540e7"} device-1 | {"level":"info","message":"GET /devices/8e1d20b2-deb5-463b-8da9-242d5b98d0f5? 200 14ms","method":"GET","requestID":"2b71532dd7ff5581c3c6644b74c540e7","responseTime":14,"status":200,"url":"/devices/8e1d20b2-deb5-463b-8da9-242d5b98d0f5?"} 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/43506edb-7294-4b4f-8663-b61dad3e598f'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/43506edb-7294-4b4f-8663-b61dad3e598f'"} 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":"0b27a3d0-3d2b-11ef-b23c-0125361f42d1","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/d063ce2d-21ab-4a46-a42c-d15cc351afc2"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:35Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff764d875-58a6-4074-b9de-5d7f78280a38","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c5a92a27-f93a-4b45-b426-6d2f4bc0fe56","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444055.244764} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.928747,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f764d875-58a6-4074-b9de-5d7f78280a38","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f764d875-58a6-4074-b9de-5d7f78280a38","object_type":"device","rebac_allow":false,"scope_allow":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":"0b30a480-3d2b-11ef-b23c-0125361f42d1"},"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/f764d875-58a6-4074-b9de-5d7f78280a38/signaling 200 9ms","method":"POST","requestID":"0b30a480-3d2b-11ef-b23c-0125361f42d1","responseTime":9,"status":200,"url":"/devices/f764d875-58a6-4074-b9de-5d7f78280a38/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:35Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e1d20b2-deb5-463b-8da9-242d5b98d0f5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0e191394-6457-4f79-b27b-d5070c452441","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444055.2546973} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.120517,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e1d20b2-deb5-463b-8da9-242d5b98d0f5","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8e1d20b2-deb5-463b-8da9-242d5b98d0f5","object_type":"device","rebac_allow":false,"scope_allow":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":"0b325230-3d2b-11ef-b23c-0125361f42d1"},"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/8e1d20b2-deb5-463b-8da9-242d5b98d0f5/signaling 200 7ms","method":"POST","requestID":"0b325230-3d2b-11ef-b23c-0125361f42d1","responseTime":7,"status":200,"url":"/devices/8e1d20b2-deb5-463b-8da9-242d5b98d0f5/signaling"} device-1 | {"data":{"peerconnection":"43506edb-7294-4b4f-8663-b61dad3e598f","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/43506edb-7294-4b4f-8663-b61dad3e598f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"43506edb-7294-4b4f-8663-b61dad3e598f","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":"3bb44352063b3d7c54663b428f63486a","responseTime":2,"status":200,"url":"/auth"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/8e1d20b2-deb5-463b-8da9-242d5b98d0f5'"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/8e1d20b2-deb5-463b-8da9-242d5b98d0f5"},{"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/f764d875-58a6-4074-b9de-5d7f78280a38"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/43506edb-7294-4b4f-8663-b61dad3e598f"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"3bb44352063b3d7c54663b428f63486a","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"3bb44352063b3d7c54663b428f63486a"} device-1 | {"data":{"peerconnection":"43506edb-7294-4b4f-8663-b61dad3e598f","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"43506edb-7294-4b4f-8663-b61dad3e598f","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/43506edb-7294-4b4f-8663-b61dad3e598f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"43506edb-7294-4b4f-8663-b61dad3e598f","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":"bbca46c6e245eef2effcff82d5d8d8d3","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/8e1d20b2-deb5-463b-8da9-242d5b98d0f5"},{"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/f764d875-58a6-4074-b9de-5d7f78280a38"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/43506edb-7294-4b4f-8663-b61dad3e598f"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:37Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F43506edb-7294-4b4f-8663-b61dad3e598f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d053453b-c2d5-4f6b-b635-b673218a993f","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444057.3981435} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.557035,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/43506edb-7294-4b4f-8663-b61dad3e598f","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/43506edb-7294-4b4f-8663-b61dad3e598f","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":"0c790300-3d2b-11ef-b23c-0125361f42d1"},"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/43506edb-7294-4b4f-8663-b61dad3e598f 200 11ms","method":"GET","requestID":"0c790300-3d2b-11ef-b23c-0125361f42d1","responseTime":11,"status":200,"url":"/peerconnections/43506edb-7294-4b4f-8663-b61dad3e598f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 29ms","method":"POST","requestID":"bbca46c6e245eef2effcff82d5d8d8d3","responseTime":29,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.034","http_referrer":"","http_user_agent":"node-fetch","requestID":"bbca46c6e245eef2effcff82d5d8d8d3"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:37Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e1d20b2-deb5-463b-8da9-242d5b98d0f5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d09e9496-ace5-44c8-b0dc-feeb29743ddd","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444057.424316} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.512399,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e1d20b2-deb5-463b-8da9-242d5b98d0f5","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8e1d20b2-deb5-463b-8da9-242d5b98d0f5","object_type":"device","rebac_allow":false,"scope_allow":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":"0c7cd390-3d2b-11ef-b23c-0125361f42d1"},"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/8e1d20b2-deb5-463b-8da9-242d5b98d0f5/signaling 200 13ms","method":"POST","requestID":"0c7cd390-3d2b-11ef-b23c-0125361f42d1","responseTime":13,"status":200,"url":"/devices/8e1d20b2-deb5-463b-8da9-242d5b98d0f5/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:37Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff764d875-58a6-4074-b9de-5d7f78280a38","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2631373f-4d60-4b0b-bc93-7f9e9325abca","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444057.4383807} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.607218,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f764d875-58a6-4074-b9de-5d7f78280a38","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f764d875-58a6-4074-b9de-5d7f78280a38","object_type":"device","rebac_allow":false,"scope_allow":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":"0c7f1d80-3d2b-11ef-b23c-0125361f42d1"},"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/f764d875-58a6-4074-b9de-5d7f78280a38/signaling 200 12ms","method":"POST","requestID":"0c7f1d80-3d2b-11ef-b23c-0125361f42d1","responseTime":12,"status":200,"url":"/devices/f764d875-58a6-4074-b9de-5d7f78280a38/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1N30.geIEi8SvBxOO4S3BxITI4seldv7WJ07eiwxFDRHq4rY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d91dbe0386f3295a0995a3d77d5e986d","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/d063ce2d-21ab-4a46-a42c-d15cc351afc2"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:37Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.265004,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d063ce2d-21ab-4a46-a42c-d15cc351afc2","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/d063ce2d-21ab-4a46-a42c-d15cc351afc2","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444057,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1N30.geIEi8SvBxOO4S3BxITI4seldv7WJ07eiwxFDRHq4rY"} 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":"d91dbe0386f3295a0995a3d77d5e986d"},"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/d063ce2d-21ab-4a46-a42c-d15cc351afc2"} gateway-1 | {"time_local":"08/Jul/2024:13:07:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/d063ce2d-21ab-4a46-a42c-d15cc351afc2 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":"d91dbe0386f3295a0995a3d77d5e986d"} experiment-1 | {"level":"info","message":"GET /experiments/d063ce2d-21ab-4a46-a42c-d15cc351afc2 200 16ms","method":"GET","requestID":"d91dbe0386f3295a0995a3d77d5e986d","responseTime":16,"status":200,"url":"/experiments/d063ce2d-21ab-4a46-a42c-d15cc351afc2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1N30.geIEi8SvBxOO4S3BxITI4seldv7WJ07eiwxFDRHq4rY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"05fb08883f33e86d9c1ef721767e46f5","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/d063ce2d-21ab-4a46-a42c-d15cc351afc2"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:37Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.283392,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:37Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d063ce2d-21ab-4a46-a42c-d15cc351afc2","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/d063ce2d-21ab-4a46-a42c-d15cc351afc2","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444057,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1N30.geIEi8SvBxOO4S3BxITI4seldv7WJ07eiwxFDRHq4rY"} 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":"05fb08883f33e86d9c1ef721767e46f5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d063ce2d-21ab-4a46-a42c-d15cc351afc2"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:37Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":2.363747,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:37Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/43506edb-7294-4b4f-8663-b61dad3e598f","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:http://localhost/peerconnections/43506edb-7294-4b4f-8663-b61dad3e598f","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444057,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1N30.geIEi8SvBxOO4S3BxITI4seldv7WJ07eiwxFDRHq4rY"} 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":"0c8d9c70-3d2b-11ef-b23c-0125361f42d1"},"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/43506edb-7294-4b4f-8663-b61dad3e598f' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/43506edb-7294-4b4f-8663-b61dad3e598f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"43506edb-7294-4b4f-8663-b61dad3e598f","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F43506edb-7294-4b4f-8663-b61dad3e598f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F43506edb-7294-4b4f-8663-b61dad3e598f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"1484fd97-f282-4e4a-8b9d-a05f1fa757a1","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444057.5516648} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"3b55da7f2f4b5dfbdfae519f9965239b","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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"169b69a4-e01d-4a80-b210-56b09bb8c492","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444057.552251} 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":"0c8d9c70-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/8e1d20b2-deb5-463b-8da9-242d5b98d0f5"},{"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/f764d875-58a6-4074-b9de-5d7f78280a38"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/43506edb-7294-4b4f-8663-b61dad3e598f"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"718b1875c971a6ca01a35e99b01e8453","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/8e1d20b2-deb5-463b-8da9-242d5b98d0f5"},{"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/f764d875-58a6-4074-b9de-5d7f78280a38"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/43506edb-7294-4b4f-8663-b61dad3e598f"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"43506edb-7294-4b4f-8663-b61dad3e598f","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/43506edb-7294-4b4f-8663-b61dad3e598f 204 48ms","method":"DELETE","requestID":"0c8d9c70-3d2b-11ef-b23c-0125361f42d1","responseTime":48,"status":204,"url":"/peerconnections/43506edb-7294-4b4f-8663-b61dad3e598f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d063ce2d-21ab-4a46-a42c-d15cc351afc2"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:37Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e1d20b2-deb5-463b-8da9-242d5b98d0f5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8983c788-eda1-4040-bf4a-333b90d61c50","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444057.606182} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.451232,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e1d20b2-deb5-463b-8da9-242d5b98d0f5","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8e1d20b2-deb5-463b-8da9-242d5b98d0f5","object_type":"device","rebac_allow":false,"scope_allow":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":"0c9898f0-3d2b-11ef-b23c-0125361f42d1"},"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/8e1d20b2-deb5-463b-8da9-242d5b98d0f5/signaling 200 14ms","method":"POST","requestID":"0c9898f0-3d2b-11ef-b23c-0125361f42d1","responseTime":14,"status":200,"url":"/devices/8e1d20b2-deb5-463b-8da9-242d5b98d0f5/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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0323ca12-7c1d-4c7c-ae6b-b3c3b1d066c0","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444057.613722} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd063ce2d-21ab-4a46-a42c-d15cc351afc2': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd063ce2d-21ab-4a46-a42c-d15cc351afc2","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"812161c6-f563-4457-bce6-77a3d86c7de5","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444057.6140993} 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":"05fb08883f33e86d9c1ef721767e46f5"},"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:58600","level":"info","msg":"Received request.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:37Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff764d875-58a6-4074-b9de-5d7f78280a38","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7a87f044-fb31-4c05-ba22-4ce32e68360f","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444057.6222694} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.953136,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f764d875-58a6-4074-b9de-5d7f78280a38","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f764d875-58a6-4074-b9de-5d7f78280a38","object_type":"device","rebac_allow":false,"scope_allow":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":"0c9b3100-3d2b-11ef-b23c-0125361f42d1"},"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/f764d875-58a6-4074-b9de-5d7f78280a38/signaling 200 13ms","method":"POST","requestID":"0c9b3100-3d2b-11ef-b23c-0125361f42d1","responseTime":13,"status":200,"url":"/devices/f764d875-58a6-4074-b9de-5d7f78280a38/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/d063ce2d-21ab-4a46-a42c-d15cc351afc2"} gateway-1 | {"time_local":"08/Jul/2024:13:07:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/d063ce2d-21ab-4a46-a42c-d15cc351afc2 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.179","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"05fb08883f33e86d9c1ef721767e46f5"} experiment-1 | {"level":"info","message":"DELETE /experiments/d063ce2d-21ab-4a46-a42c-d15cc351afc2 204 174ms","method":"DELETE","requestID":"05fb08883f33e86d9c1ef721767e46f5","responseTime":174,"status":204,"url":"/experiments/d063ce2d-21ab-4a46-a42c-d15cc351afc2"} gateway-1 | {"time_local":"08/Jul/2024:13:07:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2800","request_time":"4.281","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"211e5de18dc40ee2570002d165c88577"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 132ms","method":"POST","requestID":"3b55da7f2f4b5dfbdfae519f9965239b","responseTime":132,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.137","http_referrer":"","http_user_agent":"node-fetch","requestID":"3b55da7f2f4b5dfbdfae519f9965239b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 131ms","method":"POST","requestID":"718b1875c971a6ca01a35e99b01e8453","responseTime":131,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.138","http_referrer":"","http_user_agent":"node-fetch","requestID":"718b1875c971a6ca01a35e99b01e8453"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1N30.geIEi8SvBxOO4S3BxITI4seldv7WJ07eiwxFDRHq4rY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"01312c848b5aab228938c5b300bdce44","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"08/Jul/2024:13:07:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2707","request_time":"2.784","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f3fd6c437a44f5278ea933ae0a2adc65"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:37Z"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/f764d875-58a6-4074-b9de-5d7f78280a38' closed"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.156227,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:37Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444057,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1N30.geIEi8SvBxOO4S3BxITI4seldv7WJ07eiwxFDRHq4rY"} 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":"01312c848b5aab228938c5b300bdce44"},"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/8e1d20b2-deb5-463b-8da9-242d5b98d0f5' 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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0a5f22f-067b-4a9e-bf5b-c4fc4c400f58","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"897743b6-cc68-4052-bd20-339304c7231b","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444057.7125745} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"01312c848b5aab228938c5b300bdce44"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c496defc-d9fe-4ece-890f-76fd0b0a084b","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444057.718376} 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":"01312c848b5aab228938c5b300bdce44"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0a5f22f-067b-4a9e-bf5b-c4fc4c400f58","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"d17bcd36-64ef-479e-b86e-b0d456a1b649","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444057.7284575} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6f53feba-010d-4669-9143-3d44a1075f64","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444057.728569} 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":"01312c848b5aab228938c5b300bdce44"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0a5f22f-067b-4a9e-bf5b-c4fc4c400f58","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0a5f22f-067b-4a9e-bf5b-c4fc4c400f58","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:37.728424022Z"}]},"request_id":"25238d8c-6772-4cf5-9fe6-29531243ade3","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444057.7334461} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"01312c848b5aab228938c5b300bdce44"},"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":"01312c848b5aab228938c5b300bdce44","responseTime":44,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/Jul/2024:13:07:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"01312c848b5aab228938c5b300bdce44"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1N30.geIEi8SvBxOO4S3BxITI4seldv7WJ07eiwxFDRHq4rY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"33b09e72fbfbc9ab0b421e7e8cadfcdb","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:37Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.828589,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:37Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444057,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1N30.geIEi8SvBxOO4S3BxITI4seldv7WJ07eiwxFDRHq4rY"} 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":"33b09e72fbfbc9ab0b421e7e8cadfcdb"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa82565e1-a92b-41eb-83da-a372784a5f4a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5f0f932c-5730-46b0-b105-4fe09ab0c4ff","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444057.7643108} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"33b09e72fbfbc9ab0b421e7e8cadfcdb"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"debd053e-5e07-476f-bdae-40480e552684","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444057.7687328} 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":"33b09e72fbfbc9ab0b421e7e8cadfcdb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa82565e1-a92b-41eb-83da-a372784a5f4a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"3452a320-46f4-409b-a57f-7012025f50f8","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444057.778807} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fe2d4176-2e0c-4b35-9edf-61064d470a90","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444057.7788918} 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":"33b09e72fbfbc9ab0b421e7e8cadfcdb"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa82565e1-a92b-41eb-83da-a372784a5f4a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa82565e1-a92b-41eb-83da-a372784a5f4a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:37.778782564Z"}]},"request_id":"054e3a41-26be-4df4-82a7-3bdf8a0f8b5e","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444057.7830658} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"33b09e72fbfbc9ab0b421e7e8cadfcdb"},"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":"33b09e72fbfbc9ab0b421e7e8cadfcdb","responseTime":43,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/Jul/2024:13:07:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"33b09e72fbfbc9ab0b421e7e8cadfcdb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1OH0.2v7XnlOsufD00eGwJyqISUbjfC_lx80xL1PYC8O00Sg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"27c648d9b77e9bda5305d9ff37a15f43","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:38Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.179834,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:38Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444058,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1OH0.2v7XnlOsufD00eGwJyqISUbjfC_lx80xL1PYC8O00Sg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"27c648d9b77e9bda5305d9ff37a15f43"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0a5f22f-067b-4a9e-bf5b-c4fc4c400f58","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0a5f22f-067b-4a9e-bf5b-c4fc4c400f58","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:37.728424022Z"}]},"request_id":"5e063a26-1fa8-4cfa-811e-5126e497154c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444058.2868602} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"27c648d9b77e9bda5305d9ff37a15f43"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8f9d76af-7c28-445b-9d36-e22765cb552e","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444058.2935493} 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":"27c648d9b77e9bda5305d9ff37a15f43"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0a5f22f-067b-4a9e-bf5b-c4fc4c400f58","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0a5f22f-067b-4a9e-bf5b-c4fc4c400f58","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:37.728424022Z"}]},"request_id":"22a32e01-a44b-4663-896e-c24021e0bbf0","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444058.3063576} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"27c648d9b77e9bda5305d9ff37a15f43"},"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/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58 200 36ms","method":"PATCH","requestID":"27c648d9b77e9bda5305d9ff37a15f43","responseTime":36,"status":200,"url":"/devices/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58"} gateway-1 | {"time_local":"08/Jul/2024:13:07:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.043","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"27c648d9b77e9bda5305d9ff37a15f43"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1OH0.2v7XnlOsufD00eGwJyqISUbjfC_lx80xL1PYC8O00Sg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a4f2ef15a774399cae8c2265189f6494","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:38Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.713702,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:38Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444058,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1OH0.2v7XnlOsufD00eGwJyqISUbjfC_lx80xL1PYC8O00Sg"} 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":"a4f2ef15a774399cae8c2265189f6494"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:07:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.023","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"a4f2ef15a774399cae8c2265189f6494"} device-1 | {"level":"info","message":"POST /devices/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58/websocket 200 17ms","method":"POST","requestID":"a4f2ef15a774399cae8c2265189f6494","responseTime":17,"status":200,"url":"/devices/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58' 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":"ff1a1d26b4026b06c9542024b2f45609","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:07:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/a82565e1-a92b-41eb-83da-a372784a5f4a/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":"ff1a1d26b4026b06c9542024b2f45609"} device-1 | {"level":"info","message":"OPTIONS /devices/a82565e1-a92b-41eb-83da-a372784a5f4a/websocket 200 1ms","method":"OPTIONS","requestID":"ff1a1d26b4026b06c9542024b2f45609","responseTime":1,"status":200,"url":"/devices/a82565e1-a92b-41eb-83da-a372784a5f4a/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1OX0.7iYMlE-jHK2BI9eDKZEdV0urwHeb5H3dCI5cfY3KmZc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5a7a7415c65891e303f4ce6c523287c0","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:39Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.200388,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:39Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a82565e1-a92b-41eb-83da-a372784a5f4a","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/a82565e1-a92b-41eb-83da-a372784a5f4a","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444059,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1OX0.7iYMlE-jHK2BI9eDKZEdV0urwHeb5H3dCI5cfY3KmZc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5a7a7415c65891e303f4ce6c523287c0"},"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":"08/Jul/2024:13:07:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a82565e1-a92b-41eb-83da-a372784a5f4a/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":"5a7a7415c65891e303f4ce6c523287c0"} device-1 | {"level":"info","message":"POST /devices/a82565e1-a92b-41eb-83da-a372784a5f4a/websocket 200 22ms","method":"POST","requestID":"5a7a7415c65891e303f4ce6c523287c0","responseTime":22,"status":200,"url":"/devices/a82565e1-a92b-41eb-83da-a372784a5f4a/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/a82565e1-a92b-41eb-83da-a372784a5f4a' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1OX0.7iYMlE-jHK2BI9eDKZEdV0urwHeb5H3dCI5cfY3KmZc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"6c951193a8af4fd49e5821b0f07e2ff8","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:39Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.194655,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444059,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1OX0.7iYMlE-jHK2BI9eDKZEdV0urwHeb5H3dCI5cfY3KmZc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6c951193a8af4fd49e5821b0f07e2ff8"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0a5f22f-067b-4a9e-bf5b-c4fc4c400f58","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0a5f22f-067b-4a9e-bf5b-c4fc4c400f58","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:37.728424022Z"}]},"request_id":"23ba78b5-e43d-42ab-ae8d-57fe454ffcb8","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444059.8480282} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6c951193a8af4fd49e5821b0f07e2ff8"},"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/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58? 200 18ms","method":"GET","requestID":"6c951193a8af4fd49e5821b0f07e2ff8","responseTime":18,"status":200,"url":"/devices/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58?"} gateway-1 | {"time_local":"08/Jul/2024:13:07:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6c951193a8af4fd49e5821b0f07e2ff8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1OX0.7iYMlE-jHK2BI9eDKZEdV0urwHeb5H3dCI5cfY3KmZc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"27b9c6b18dd9fd618440f9d4461e9f39","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:39Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.284191,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a82565e1-a92b-41eb-83da-a372784a5f4a","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/a82565e1-a92b-41eb-83da-a372784a5f4a","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444059,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1OX0.7iYMlE-jHK2BI9eDKZEdV0urwHeb5H3dCI5cfY3KmZc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"27b9c6b18dd9fd618440f9d4461e9f39"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa82565e1-a92b-41eb-83da-a372784a5f4a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa82565e1-a92b-41eb-83da-a372784a5f4a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:37.778782564Z"}]},"request_id":"4a3a7f85-4407-4491-a61b-2ce712035e98","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444059.8735936} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"27b9c6b18dd9fd618440f9d4461e9f39"},"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":"08/Jul/2024:13:07:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a82565e1-a92b-41eb-83da-a372784a5f4a? 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":"27b9c6b18dd9fd618440f9d4461e9f39"} device-1 | {"level":"info","message":"GET /devices/a82565e1-a92b-41eb-83da-a372784a5f4a? 200 18ms","method":"GET","requestID":"27b9c6b18dd9fd618440f9d4461e9f39","responseTime":18,"status":200,"url":"/devices/a82565e1-a92b-41eb-83da-a372784a5f4a?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1OX0.7iYMlE-jHK2BI9eDKZEdV0urwHeb5H3dCI5cfY3KmZc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d3bbca159a242a823d2a308d0503ebe0","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:58600","level":"info","msg":"Received request.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:39Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.441277,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444059,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1OX0.7iYMlE-jHK2BI9eDKZEdV0urwHeb5H3dCI5cfY3KmZc"} 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":"d3bbca159a242a823d2a308d0503ebe0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8895d0e4-8160-4467-90a5-130da3d77bb1"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8895d0e4-8160-4467-90a5-130da3d77bb1"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8895d0e4-8160-4467-90a5-130da3d77bb1"},"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:58600","level":"info","msg":"Received request.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:39Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.602124,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444059,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1OX0.7iYMlE-jHK2BI9eDKZEdV0urwHeb5H3dCI5cfY3KmZc"} 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":"0dfc6eb0-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:36164","level":"info","msg":"Received request.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:39Z"} authorization-1 | {"client_addr":"127.0.0.1:36164","level":"info","msg":"Sent response.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.000888,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a82565e1-a92b-41eb-83da-a372784a5f4a","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/a82565e1-a92b-41eb-83da-a372784a5f4a","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444059,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1OX0.7iYMlE-jHK2BI9eDKZEdV0urwHeb5H3dCI5cfY3KmZc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0dfcbcd0-3d2b-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0a5f22f-067b-4a9e-bf5b-c4fc4c400f58","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0a5f22f-067b-4a9e-bf5b-c4fc4c400f58","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:37.728424022Z"}]},"request_id":"e3b9484d-b2ce-4410-85ce-6d9b34938f67","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444059.93945} 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":"0dfc6eb0-3d2b-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa82565e1-a92b-41eb-83da-a372784a5f4a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa82565e1-a92b-41eb-83da-a372784a5f4a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:37.778782564Z"}]},"request_id":"b5b5f248-f9a7-4923-ba62-e887171285e9","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444059.9432793} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0dfcbcd0-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"GET /devices/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58? 200 13ms","method":"GET","requestID":"0dfc6eb0-3d2b-11ef-b23c-0125361f42d1","responseTime":13,"status":200,"url":"/devices/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/a82565e1-a92b-41eb-83da-a372784a5f4a? 200 17ms","method":"GET","requestID":"0dfcbcd0-3d2b-11ef-b23c-0125361f42d1","responseTime":17,"status":200,"url":"/devices/a82565e1-a92b-41eb-83da-a372784a5f4a?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8895d0e4-8160-4467-90a5-130da3d77bb1"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8895d0e4-8160-4467-90a5-130da3d77bb1"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8895d0e4-8160-4467-90a5-130da3d77bb1"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8895d0e4-8160-4467-90a5-130da3d77bb1"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8895d0e4-8160-4467-90a5-130da3d77bb1"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8895d0e4-8160-4467-90a5-130da3d77bb1"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8895d0e4-8160-4467-90a5-130da3d77bb1"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8895d0e4-8160-4467-90a5-130da3d77bb1"},"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/8895d0e4-8160-4467-90a5-130da3d77bb1"},"level":"info","message":"Successfully running experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:40Z"} authorization-1 | {"client_addr":"127.0.0.1:36164","level":"info","msg":"Received request.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:40Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.479282,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:40Z"} authorization-1 | {"client_addr":"127.0.0.1:36164","level":"info","msg":"Sent response.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.682072,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444059,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1OX0.7iYMlE-jHK2BI9eDKZEdV0urwHeb5H3dCI5cfY3KmZc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0e07e060-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a82565e1-a92b-41eb-83da-a372784a5f4a","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/a82565e1-a92b-41eb-83da-a372784a5f4a","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444059,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1OX0.7iYMlE-jHK2BI9eDKZEdV0urwHeb5H3dCI5cfY3KmZc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0e082e80-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:36176","level":"info","msg":"Received request.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:40Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0a5f22f-067b-4a9e-bf5b-c4fc4c400f58","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bcbf4437-f191-4866-b858-b31582bd23e7","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444060.0183742} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa82565e1-a92b-41eb-83da-a372784a5f4a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa82565e1-a92b-41eb-83da-a372784a5f4a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:37.778782564Z"}]},"request_id":"0b9fcc35-a2a5-478a-947f-f2ee1694b20b","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444060.0188658} authorization-1 | {"client_addr":"127.0.0.1:36176","level":"info","msg":"Sent response.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.848384,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:40Z"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0e082e80-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58","object_type":"device","rebac_allow":false,"scope_allow":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":"0e087ca0-3d2b-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0a5f22f-067b-4a9e-bf5b-c4fc4c400f58","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0a5f22f-067b-4a9e-bf5b-c4fc4c400f58","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:37.728424022Z"}]},"request_id":"3f06b9e3-6ec2-4fe8-92b1-c293a7b78026","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444060.0195823} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0e07e060-3d2b-11ef-b23c-0125361f42d1"},"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/a82565e1-a92b-41eb-83da-a372784a5f4a? 200 19ms","method":"GET","requestID":"0e082e80-3d2b-11ef-b23c-0125361f42d1","responseTime":19,"status":200,"url":"/devices/a82565e1-a92b-41eb-83da-a372784a5f4a?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58/signaling 200 18ms","method":"POST","requestID":"0e087ca0-3d2b-11ef-b23c-0125361f42d1","responseTime":18,"status":200,"url":"/devices/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58? 200 23ms","method":"GET","requestID":"0e07e060-3d2b-11ef-b23c-0125361f42d1","responseTime":23,"status":200,"url":"/devices/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8895d0e4-8160-4467-90a5-130da3d77bb1#owner@http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8895d0e4-8160-4467-90a5-130da3d77bb1","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"07029e21-b9b8-43a9-8661-d78558b42193","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444060.0301728} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ceac5af1-375e-4a1e-9792-23fb0976e9c1","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444060.0303996} 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":"d3bbca159a242a823d2a308d0503ebe0"},"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:58600","level":"info","msg":"Received request.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:40Z"} authorization-1 | {"client_addr":"127.0.0.1:36164","level":"info","msg":"Received request.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:40Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa82565e1-a92b-41eb-83da-a372784a5f4a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ff8bf236-dda4-44a7-9147-e465ad962be4","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444060.0390174} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0a5f22f-067b-4a9e-bf5b-c4fc4c400f58","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b1e071d5-afe9-48f8-9aa0-1f303d79acd1","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444060.039342} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.006025,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a82565e1-a92b-41eb-83da-a372784a5f4a","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a82565e1-a92b-41eb-83da-a372784a5f4a","object_type":"device","rebac_allow":false,"scope_allow":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":"0e0b89e0-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:36164","level":"info","msg":"Sent response.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.524901,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:40Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/8895d0e4-8160-4467-90a5-130da3d77bb1","user":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58","object_type":"device","rebac_allow":false,"scope_allow":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":"0e0bd800-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} gateway-1 | {"time_local":"08/Jul/2024:13:07:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.161","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d3bbca159a242a823d2a308d0503ebe0"} experiment-1 | {"level":"info","message":"POST /experiments? 201 155ms","method":"POST","requestID":"d3bbca159a242a823d2a308d0503ebe0","responseTime":155,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/a82565e1-a92b-41eb-83da-a372784a5f4a/signaling 200 14ms","method":"POST","requestID":"0e0b89e0-3d2b-11ef-b23c-0125361f42d1","responseTime":14,"status":200,"url":"/devices/a82565e1-a92b-41eb-83da-a372784a5f4a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58/signaling 200 13ms","method":"POST","requestID":"0e0bd800-3d2b-11ef-b23c-0125361f42d1","responseTime":13,"status":200,"url":"/devices/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2MH0.L08ZqDo2gYTWrlXGPeMI2btwjyTjnrCciKqvguqITv4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4dbe91d5926d850e01eeeb8ee1c6b829","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:58600","level":"info","msg":"Received request.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:40Z"} authorization-1 | {"client_addr":"127.0.0.1:36164","level":"info","msg":"Received request.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:40Z"} authorization-1 | {"client_addr":"127.0.0.1:36164","level":"info","msg":"Sent response.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.760365,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444060,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2MH0.L08ZqDo2gYTWrlXGPeMI2btwjyTjnrCciKqvguqITv4"} 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":"4dbe91d5926d850e01eeeb8ee1c6b829"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa82565e1-a92b-41eb-83da-a372784a5f4a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0a048e62-daea-4ad7-8089-d6d144b12e7d","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444060.05237} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.538191,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a82565e1-a92b-41eb-83da-a372784a5f4a","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a82565e1-a92b-41eb-83da-a372784a5f4a","object_type":"device","rebac_allow":false,"scope_allow":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":"0e0e21f0-3d2b-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0a5f22f-067b-4a9e-bf5b-c4fc4c400f58","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0a5f22f-067b-4a9e-bf5b-c4fc4c400f58","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:37.728424022Z"}]},"request_id":"e3801b10-7e76-4d0f-bf5e-e1fced50f614","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444060.056472} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/a82565e1-a92b-41eb-83da-a372784a5f4a/signaling 200 10ms","method":"POST","requestID":"0e0e21f0-3d2b-11ef-b23c-0125361f42d1","responseTime":10,"status":200,"url":"/devices/a82565e1-a92b-41eb-83da-a372784a5f4a/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":"4dbe91d5926d850e01eeeb8ee1c6b829"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8895d0e4-8160-4467-90a5-130da3d77bb1"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8895d0e4-8160-4467-90a5-130da3d77bb1"},"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":"9d6daac9-05cf-489d-8290-8e5bc19493a3"},{"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":"c0e680e8-4762-4fde-9db4-258c0c86c593"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"030e9bf4-b7f7-4c96-ae3e-bf21c7572ad9"}]},"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/a82565e1-a92b-41eb-83da-a372784a5f4a"},{"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/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58"}],"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":"08/Jul/2024:13:07:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4dbe91d5926d850e01eeeb8ee1c6b829"} device-1 | {"level":"info","message":"GET /devices/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58? 200 13ms","method":"GET","requestID":"4dbe91d5926d850e01eeeb8ee1c6b829","responseTime":13,"status":200,"url":"/devices/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58?"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:40Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.662386,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:40Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444059,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA1OX0.7iYMlE-jHK2BI9eDKZEdV0urwHeb5H3dCI5cfY3KmZc"} 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":"0e101dc0-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2MH0.L08ZqDo2gYTWrlXGPeMI2btwjyTjnrCciKqvguqITv4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bddcbc19b0d6d89dc1b3f23ea21a7e86","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:40Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.080167,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a82565e1-a92b-41eb-83da-a372784a5f4a","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/a82565e1-a92b-41eb-83da-a372784a5f4a","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444060,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2MH0.L08ZqDo2gYTWrlXGPeMI2btwjyTjnrCciKqvguqITv4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bddcbc19b0d6d89dc1b3f23ea21a7e86"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","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%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"993acfc7-52ea-49de-bffb-ca0d2bc68310","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444060.0745864} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6b7614ad-ea20-4f01-a2ca-77c4908f0390","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444060.0747879} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa82565e1-a92b-41eb-83da-a372784a5f4a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa82565e1-a92b-41eb-83da-a372784a5f4a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:37.778782564Z"}]},"request_id":"790e4cd5-0781-4666-a41f-fca720a5b74a","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444060.075656} 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":"0e101dc0-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bddcbc19b0d6d89dc1b3f23ea21a7e86"},"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":"08/Jul/2024:13:07:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a82565e1-a92b-41eb-83da-a372784a5f4a? 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":"bddcbc19b0d6d89dc1b3f23ea21a7e86"} device-1 | {"level":"info","message":"GET /devices/a82565e1-a92b-41eb-83da-a372784a5f4a? 200 24ms","method":"GET","requestID":"bddcbc19b0d6d89dc1b3f23ea21a7e86","responseTime":24,"status":200,"url":"/devices/a82565e1-a92b-41eb-83da-a372784a5f4a?"} 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/66b27c22-ebcf-41c2-9ac3-a937cb94a2b8'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/66b27c22-ebcf-41c2-9ac3-a937cb94a2b8'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 33ms","method":"POST","requestID":"0e101dc0-3d2b-11ef-b23c-0125361f42d1","responseTime":33,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8895d0e4-8160-4467-90a5-130da3d77bb1"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:40Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0a5f22f-067b-4a9e-bf5b-c4fc4c400f58","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a6bf8cb9-ece7-4f94-a650-6a615cf75248","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444060.1254742} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.406276,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58","object_type":"device","rebac_allow":false,"scope_allow":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":"0e196c90-3d2b-11ef-b23c-0125361f42d1"},"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/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58/signaling 200 8ms","method":"POST","requestID":"0e196c90-3d2b-11ef-b23c-0125361f42d1","responseTime":8,"status":200,"url":"/devices/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:40Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa82565e1-a92b-41eb-83da-a372784a5f4a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9bf0b283-364d-4fcc-b70c-b68b8e447d5a","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444060.134971} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.469518,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a82565e1-a92b-41eb-83da-a372784a5f4a","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a82565e1-a92b-41eb-83da-a372784a5f4a","object_type":"device","rebac_allow":false,"scope_allow":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":"0e1af330-3d2b-11ef-b23c-0125361f42d1"},"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/a82565e1-a92b-41eb-83da-a372784a5f4a/signaling 200 8ms","method":"POST","requestID":"0e1af330-3d2b-11ef-b23c-0125361f42d1","responseTime":8,"status":200,"url":"/devices/a82565e1-a92b-41eb-83da-a372784a5f4a/signaling"} device-1 | {"data":{"peerconnection":"66b27c22-ebcf-41c2-9ac3-a937cb94a2b8","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/66b27c22-ebcf-41c2-9ac3-a937cb94a2b8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"66b27c22-ebcf-41c2-9ac3-a937cb94a2b8","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/a82565e1-a92b-41eb-83da-a372784a5f4a'"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"79e5133260ac79b7725f6137db40d196","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/a82565e1-a92b-41eb-83da-a372784a5f4a"},{"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/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/66b27c22-ebcf-41c2-9ac3-a937cb94a2b8"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"79e5133260ac79b7725f6137db40d196","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07: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":"79e5133260ac79b7725f6137db40d196"} device-1 | {"data":{"peerconnection":"66b27c22-ebcf-41c2-9ac3-a937cb94a2b8","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"66b27c22-ebcf-41c2-9ac3-a937cb94a2b8","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/66b27c22-ebcf-41c2-9ac3-a937cb94a2b8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"66b27c22-ebcf-41c2-9ac3-a937cb94a2b8","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":"994b4c8441b1128585eabc2c07fe345a","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/a82565e1-a92b-41eb-83da-a372784a5f4a"},{"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/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/66b27c22-ebcf-41c2-9ac3-a937cb94a2b8"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:42Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F66b27c22-ebcf-41c2-9ac3-a937cb94a2b8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6ce9de49-9a4a-44d8-8c5e-aa29c380a637","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444062.218632} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.766623,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/66b27c22-ebcf-41c2-9ac3-a937cb94a2b8","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/66b27c22-ebcf-41c2-9ac3-a937cb94a2b8","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":"0f58a350-3d2b-11ef-b23c-0125361f42d1"},"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/66b27c22-ebcf-41c2-9ac3-a937cb94a2b8 200 10ms","method":"GET","requestID":"0f58a350-3d2b-11ef-b23c-0125361f42d1","responseTime":10,"status":200,"url":"/peerconnections/66b27c22-ebcf-41c2-9ac3-a937cb94a2b8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 40ms","method":"POST","requestID":"994b4c8441b1128585eabc2c07fe345a","responseTime":40,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07: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.044","http_referrer":"","http_user_agent":"node-fetch","requestID":"994b4c8441b1128585eabc2c07fe345a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:42Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa82565e1-a92b-41eb-83da-a372784a5f4a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7b2911bd-940f-45fd-be22-69bc0adeaf7c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444062.2543035} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.027109,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a82565e1-a92b-41eb-83da-a372784a5f4a","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a82565e1-a92b-41eb-83da-a372784a5f4a","object_type":"device","rebac_allow":false,"scope_allow":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":"0f5e2190-3d2b-11ef-b23c-0125361f42d1"},"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/a82565e1-a92b-41eb-83da-a372784a5f4a/signaling 200 10ms","method":"POST","requestID":"0f5e2190-3d2b-11ef-b23c-0125361f42d1","responseTime":10,"status":200,"url":"/devices/a82565e1-a92b-41eb-83da-a372784a5f4a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:42Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0a5f22f-067b-4a9e-bf5b-c4fc4c400f58","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0c84bd74-3eaf-4c2f-8a01-70aae0b7de65","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444062.2672005} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.617652,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58","object_type":"device","rebac_allow":false,"scope_allow":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":"0f5ff650-3d2b-11ef-b23c-0125361f42d1"},"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/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58/signaling 200 11ms","method":"POST","requestID":"0f5ff650-3d2b-11ef-b23c-0125361f42d1","responseTime":11,"status":200,"url":"/devices/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2Mn0.UB1WsPCHMeuMQ7KP_qi8M6R9Ucapon9yxzwQjMyfIuQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3962a97663c2059f099e03f7a682165d","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/8895d0e4-8160-4467-90a5-130da3d77bb1"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:42Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.190318,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8895d0e4-8160-4467-90a5-130da3d77bb1","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/8895d0e4-8160-4467-90a5-130da3d77bb1","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444062,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2Mn0.UB1WsPCHMeuMQ7KP_qi8M6R9Ucapon9yxzwQjMyfIuQ"} 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":"3962a97663c2059f099e03f7a682165d"},"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/8895d0e4-8160-4467-90a5-130da3d77bb1"} gateway-1 | {"time_local":"08/Jul/2024:13:07:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/8895d0e4-8160-4467-90a5-130da3d77bb1 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3962a97663c2059f099e03f7a682165d"} experiment-1 | {"level":"info","message":"GET /experiments/8895d0e4-8160-4467-90a5-130da3d77bb1 200 16ms","method":"GET","requestID":"3962a97663c2059f099e03f7a682165d","responseTime":16,"status":200,"url":"/experiments/8895d0e4-8160-4467-90a5-130da3d77bb1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2Mn0.UB1WsPCHMeuMQ7KP_qi8M6R9Ucapon9yxzwQjMyfIuQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"f625779e7e02901301f3f9e79258936d","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/8895d0e4-8160-4467-90a5-130da3d77bb1"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:42Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.179649,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:42Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8895d0e4-8160-4467-90a5-130da3d77bb1","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/8895d0e4-8160-4467-90a5-130da3d77bb1","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444062,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2Mn0.UB1WsPCHMeuMQ7KP_qi8M6R9Ucapon9yxzwQjMyfIuQ"} 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":"f625779e7e02901301f3f9e79258936d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8895d0e4-8160-4467-90a5-130da3d77bb1"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:42Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.189705,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:42Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/66b27c22-ebcf-41c2-9ac3-a937cb94a2b8","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:http://localhost/peerconnections/66b27c22-ebcf-41c2-9ac3-a937cb94a2b8","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444062,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2Mn0.UB1WsPCHMeuMQ7KP_qi8M6R9Ucapon9yxzwQjMyfIuQ"} 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":"0f6db1f0-3d2b-11ef-b23c-0125361f42d1"},"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/66b27c22-ebcf-41c2-9ac3-a937cb94a2b8' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/66b27c22-ebcf-41c2-9ac3-a937cb94a2b8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"66b27c22-ebcf-41c2-9ac3-a937cb94a2b8","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":"43a510cd5ff0702a1f2556053b070967","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/a82565e1-a92b-41eb-83da-a372784a5f4a"},{"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/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/66b27c22-ebcf-41c2-9ac3-a937cb94a2b8"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"b350c84af28a46ed24f5da1f8ba04677","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/a82565e1-a92b-41eb-83da-a372784a5f4a"},{"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/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/66b27c22-ebcf-41c2-9ac3-a937cb94a2b8"}}},"level":"info","message":"received a callback"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F66b27c22-ebcf-41c2-9ac3-a937cb94a2b8': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F66b27c22-ebcf-41c2-9ac3-a937cb94a2b8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"788ea332-57a1-4483-8000-f28246a38e67","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444062.3782632} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5f0335f7-64f2-4f5a-a11f-e8b39fb497e2","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444062.3789682} 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":"0f6db1f0-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} device-1 | {"data":{"peerconnection":"66b27c22-ebcf-41c2-9ac3-a937cb94a2b8","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/66b27c22-ebcf-41c2-9ac3-a937cb94a2b8 204 44ms","method":"DELETE","requestID":"0f6db1f0-3d2b-11ef-b23c-0125361f42d1","responseTime":44,"status":204,"url":"/peerconnections/66b27c22-ebcf-41c2-9ac3-a937cb94a2b8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8895d0e4-8160-4467-90a5-130da3d77bb1"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:42Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa82565e1-a92b-41eb-83da-a372784a5f4a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8cb8b8b9-c6b6-4e9f-a531-1674f941604e","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444062.4245071} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.108983,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a82565e1-a92b-41eb-83da-a372784a5f4a","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a82565e1-a92b-41eb-83da-a372784a5f4a","object_type":"device","rebac_allow":false,"scope_allow":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":"0f77c410-3d2b-11ef-b23c-0125361f42d1"},"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/a82565e1-a92b-41eb-83da-a372784a5f4a/signaling 200 14ms","method":"POST","requestID":"0f77c410-3d2b-11ef-b23c-0125361f42d1","responseTime":14,"status":200,"url":"/devices/a82565e1-a92b-41eb-83da-a372784a5f4a/signaling"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8895d0e4-8160-4467-90a5-130da3d77bb1': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8895d0e4-8160-4467-90a5-130da3d77bb1","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"c21ea8cf-b1d5-484a-89ae-6294095ba6e9","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444062.4325514} 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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"61265fde-53a4-4e29-9458-e85e9013b886","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444062.432828} 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":"f625779e7e02901301f3f9e79258936d"},"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:58600","level":"info","msg":"Received request.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:42Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0a5f22f-067b-4a9e-bf5b-c4fc4c400f58","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6fbe8323-bfc3-4448-8d61-2bdf4e0a7789","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444062.4396963} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.448185,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58","object_type":"device","rebac_allow":false,"scope_allow":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":"0f7a3510-3d2b-11ef-b23c-0125361f42d1"},"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/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58/signaling 200 12ms","method":"POST","requestID":"0f7a3510-3d2b-11ef-b23c-0125361f42d1","responseTime":12,"status":200,"url":"/devices/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/8895d0e4-8160-4467-90a5-130da3d77bb1"} gateway-1 | {"time_local":"08/Jul/2024:13:07:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/8895d0e4-8160-4467-90a5-130da3d77bb1 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.164","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f625779e7e02901301f3f9e79258936d"} experiment-1 | {"level":"info","message":"DELETE /experiments/8895d0e4-8160-4467-90a5-130da3d77bb1 204 158ms","method":"DELETE","requestID":"f625779e7e02901301f3f9e79258936d","responseTime":158,"status":204,"url":"/experiments/8895d0e4-8160-4467-90a5-130da3d77bb1"} gateway-1 | {"time_local":"08/Jul/2024:13:07:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2801","request_time":"4.159","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"d403a72807d9b9aa0b5c5f51f86c526f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 121ms","method":"POST","requestID":"43a510cd5ff0702a1f2556053b070967","responseTime":121,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07: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.124","http_referrer":"","http_user_agent":"node-fetch","requestID":"43a510cd5ff0702a1f2556053b070967"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 120ms","method":"POST","requestID":"b350c84af28a46ed24f5da1f8ba04677","responseTime":120,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07: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.125","http_referrer":"","http_user_agent":"node-fetch","requestID":"b350c84af28a46ed24f5da1f8ba04677"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2Mn0.UB1WsPCHMeuMQ7KP_qi8M6R9Ucapon9yxzwQjMyfIuQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"86a47ed95bac4732a24616f1341ed455","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:42Z"} gateway-1 | {"time_local":"08/Jul/2024:13:07:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2707","request_time":"2.689","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"61e3b14bfc0ec549cd589bd1e890ff2a"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.943395,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:42Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444062,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2Mn0.UB1WsPCHMeuMQ7KP_qi8M6R9Ucapon9yxzwQjMyfIuQ"} 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":"86a47ed95bac4732a24616f1341ed455"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b0a5f22f-067b-4a9e-bf5b-c4fc4c400f58' 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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10bfcb38-3fd3-4fd4-a0ac-939e6df2030d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e95e86cd-ddea-40f8-8380-a725fec18b69","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444062.5215235} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"86a47ed95bac4732a24616f1341ed455"},"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/a82565e1-a92b-41eb-83da-a372784a5f4a' 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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dca0d667-98dd-4a14-a7f5-5d2cb0231bf0","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444062.5266325} 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":"86a47ed95bac4732a24616f1341ed455"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10bfcb38-3fd3-4fd4-a0ac-939e6df2030d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"960a0628-553e-4a12-b00b-8d56a821ba22","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444062.535996} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"da079187-57e4-4f48-a1af-cea5bce7f9cf","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444062.5362508} 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":"86a47ed95bac4732a24616f1341ed455"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10bfcb38-3fd3-4fd4-a0ac-939e6df2030d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10bfcb38-3fd3-4fd4-a0ac-939e6df2030d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:42.535951824Z"}]},"request_id":"12d42197-4650-441d-ad84-74141e9c9492","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444062.5410938} 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":"86a47ed95bac4732a24616f1341ed455"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:07:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"86a47ed95bac4732a24616f1341ed455"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"86a47ed95bac4732a24616f1341ed455","responseTime":43,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2Mn0.UB1WsPCHMeuMQ7KP_qi8M6R9Ucapon9yxzwQjMyfIuQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d8fd4f1fe189eb03eb9986c2553641dc","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:42Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.020614,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:42Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444062,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2Mn0.UB1WsPCHMeuMQ7KP_qi8M6R9Ucapon9yxzwQjMyfIuQ"} 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":"d8fd4f1fe189eb03eb9986c2553641dc"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67bd3ec7-d23f-422b-a6cc-76b143e75f6b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"01e23885-2acc-4e32-ba6a-3a24994d7587","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444062.5648787} 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":"d8fd4f1fe189eb03eb9986c2553641dc"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"13f65a2e-6725-4694-8f7b-dafed99a0b51","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444062.5695038} 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":"d8fd4f1fe189eb03eb9986c2553641dc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67bd3ec7-d23f-422b-a6cc-76b143e75f6b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"dc155187-a0a8-4a4e-8749-27693903d298","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444062.5859423} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"679a3bb4-1bb4-492f-a307-316c000934bd","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444062.586216} 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":"d8fd4f1fe189eb03eb9986c2553641dc"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67bd3ec7-d23f-422b-a6cc-76b143e75f6b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67bd3ec7-d23f-422b-a6cc-76b143e75f6b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:42.585908040Z"}]},"request_id":"b66e49b8-3acf-4fc3-8297-dd9a1a25ca68","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444062.5903118} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d8fd4f1fe189eb03eb9986c2553641dc"},"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":"d8fd4f1fe189eb03eb9986c2553641dc","responseTime":43,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/Jul/2024:13:07:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d8fd4f1fe189eb03eb9986c2553641dc"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2M30.TxhX6xciFG2sGCpYu-W6TZGNrMyBdoBBRwmCgfWRowQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b53f9993d6a4ced2270278a89d71bfb4","responseTime":5,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2M30.TxhX6xciFG2sGCpYu-W6TZGNrMyBdoBBRwmCgfWRowQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"19111ec1de39d0e612a3526af2c0f153","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:43Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.664424,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:43Z"} authorization-1 | {"client_addr":"127.0.0.1:36164","level":"info","msg":"Received request.","req_id":733,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:43Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/67bd3ec7-d23f-422b-a6cc-76b143e75f6b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/67bd3ec7-d23f-422b-a6cc-76b143e75f6b","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444063,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2M30.TxhX6xciFG2sGCpYu-W6TZGNrMyBdoBBRwmCgfWRowQ"} 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":"b53f9993d6a4ced2270278a89d71bfb4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:36164","level":"info","msg":"Sent response.","req_id":733,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.725842,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:43Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444063,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2M30.TxhX6xciFG2sGCpYu-W6TZGNrMyBdoBBRwmCgfWRowQ"} 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":"19111ec1de39d0e612a3526af2c0f153"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67bd3ec7-d23f-422b-a6cc-76b143e75f6b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67bd3ec7-d23f-422b-a6cc-76b143e75f6b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:42.585908040Z"}]},"request_id":"72ac522f-8710-4cd1-9a00-eb10e88d82e8","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444063.076492} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b53f9993d6a4ced2270278a89d71bfb4"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10bfcb38-3fd3-4fd4-a0ac-939e6df2030d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10bfcb38-3fd3-4fd4-a0ac-939e6df2030d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:42.535951824Z"}]},"request_id":"ecb86fb1-636b-43fd-9de7-848fd9bf7109","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444063.0772624} 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":"19111ec1de39d0e612a3526af2c0f153"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1c1e52ea-07ef-41ca-8696-4402b5567746","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444063.0828478} 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":"b53f9993d6a4ced2270278a89d71bfb4"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d82ea437-a0bf-4e60-8df9-4789bc2758cd","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444063.0849223} 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":"19111ec1de39d0e612a3526af2c0f153"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10bfcb38-3fd3-4fd4-a0ac-939e6df2030d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10bfcb38-3fd3-4fd4-a0ac-939e6df2030d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:42.535951824Z"}]},"request_id":"714942ac-1c05-4ad0-b9d0-4c830ad7622d","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444063.0893173} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"19111ec1de39d0e612a3526af2c0f153"},"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":"08/Jul/2024:13:07:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.033","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"19111ec1de39d0e612a3526af2c0f153"} device-1 | {"level":"info","message":"PATCH /devices/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d 200 25ms","method":"PATCH","requestID":"19111ec1de39d0e612a3526af2c0f153","responseTime":25,"status":200,"url":"/devices/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2M30.TxhX6xciFG2sGCpYu-W6TZGNrMyBdoBBRwmCgfWRowQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"51572e9a82482a61bc0080c57d7b38ec","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":734,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:43Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":734,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.118981,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:43Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444063,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2M30.TxhX6xciFG2sGCpYu-W6TZGNrMyBdoBBRwmCgfWRowQ"} 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":"51572e9a82482a61bc0080c57d7b38ec"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67bd3ec7-d23f-422b-a6cc-76b143e75f6b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67bd3ec7-d23f-422b-a6cc-76b143e75f6b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:42.585908040Z"}]},"request_id":"c29b3906-846c-47b1-8a6f-931fb6c85e02","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444063.1013422} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b53f9993d6a4ced2270278a89d71bfb4"},"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":"08/Jul/2024:13:07:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/67bd3ec7-d23f-422b-a6cc-76b143e75f6b HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.046","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"b53f9993d6a4ced2270278a89d71bfb4"} device-1 | {"level":"info","message":"PATCH /devices/67bd3ec7-d23f-422b-a6cc-76b143e75f6b 200 39ms","method":"PATCH","requestID":"b53f9993d6a4ced2270278a89d71bfb4","responseTime":39,"status":200,"url":"/devices/67bd3ec7-d23f-422b-a6cc-76b143e75f6b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2M30.TxhX6xciFG2sGCpYu-W6TZGNrMyBdoBBRwmCgfWRowQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"db4f39b3ca0064b2f6a3abe7ab585a25","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":735,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:43Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":735,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.994302,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:43Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/67bd3ec7-d23f-422b-a6cc-76b143e75f6b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/67bd3ec7-d23f-422b-a6cc-76b143e75f6b","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444063,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2M30.TxhX6xciFG2sGCpYu-W6TZGNrMyBdoBBRwmCgfWRowQ"} 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":"db4f39b3ca0064b2f6a3abe7ab585a25"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d/websocket 200 21ms","method":"POST","requestID":"51572e9a82482a61bc0080c57d7b38ec","responseTime":21,"status":200,"url":"/devices/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d/websocket"} gateway-1 | {"time_local":"08/Jul/2024:13:07:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.024","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"51572e9a82482a61bc0080c57d7b38ec"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/67bd3ec7-d23f-422b-a6cc-76b143e75f6b/websocket 200 14ms","method":"POST","requestID":"db4f39b3ca0064b2f6a3abe7ab585a25","responseTime":15,"status":200,"url":"/devices/67bd3ec7-d23f-422b-a6cc-76b143e75f6b/websocket"} gateway-1 | {"time_local":"08/Jul/2024:13:07:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/67bd3ec7-d23f-422b-a6cc-76b143e75f6b/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.019","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"db4f39b3ca0064b2f6a3abe7ab585a25"} device-1 | {"level":"info","message":"device 'http://localhost/devices/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/67bd3ec7-d23f-422b-a6cc-76b143e75f6b' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2M30.TxhX6xciFG2sGCpYu-W6TZGNrMyBdoBBRwmCgfWRowQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"7582f1bcaa8f42ac635f1d80f70c9375","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":736,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:43Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":736,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.811604,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444063,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2M30.TxhX6xciFG2sGCpYu-W6TZGNrMyBdoBBRwmCgfWRowQ"} 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":"7582f1bcaa8f42ac635f1d80f70c9375"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10bfcb38-3fd3-4fd4-a0ac-939e6df2030d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10bfcb38-3fd3-4fd4-a0ac-939e6df2030d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:42.535951824Z"}]},"request_id":"17b1d41d-f57e-40d0-9f29-97359e44d371","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444063.1608846} 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":"7582f1bcaa8f42ac635f1d80f70c9375"},"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/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d? 200 11ms","method":"GET","requestID":"7582f1bcaa8f42ac635f1d80f70c9375","responseTime":11,"status":200,"url":"/devices/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d?"} gateway-1 | {"time_local":"08/Jul/2024:13:07:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7582f1bcaa8f42ac635f1d80f70c9375"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2M30.TxhX6xciFG2sGCpYu-W6TZGNrMyBdoBBRwmCgfWRowQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9d0692eee363cf7a05c4f4aab653de07","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":737,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:43Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":737,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.394119,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/67bd3ec7-d23f-422b-a6cc-76b143e75f6b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/67bd3ec7-d23f-422b-a6cc-76b143e75f6b","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444063,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2M30.TxhX6xciFG2sGCpYu-W6TZGNrMyBdoBBRwmCgfWRowQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9d0692eee363cf7a05c4f4aab653de07"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67bd3ec7-d23f-422b-a6cc-76b143e75f6b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67bd3ec7-d23f-422b-a6cc-76b143e75f6b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:42.585908040Z"}]},"request_id":"6e4dbe3d-09e2-43bb-9a4b-23914606015b","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444063.181613} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9d0692eee363cf7a05c4f4aab653de07"},"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/67bd3ec7-d23f-422b-a6cc-76b143e75f6b? 200 15ms","method":"GET","requestID":"9d0692eee363cf7a05c4f4aab653de07","responseTime":15,"status":200,"url":"/devices/67bd3ec7-d23f-422b-a6cc-76b143e75f6b?"} gateway-1 | {"time_local":"08/Jul/2024:13:07:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/67bd3ec7-d23f-422b-a6cc-76b143e75f6b? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9d0692eee363cf7a05c4f4aab653de07"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2M30.TxhX6xciFG2sGCpYu-W6TZGNrMyBdoBBRwmCgfWRowQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5e064bb9a52f9e69b5beb94cd5c24998","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:58600","level":"info","msg":"Received request.","req_id":738,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:43Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":738,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.758139,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:43Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444063,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2M30.TxhX6xciFG2sGCpYu-W6TZGNrMyBdoBBRwmCgfWRowQ"} 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":"5e064bb9a52f9e69b5beb94cd5c24998"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c4f5ddf9-e5b1-488c-a1ee-ac9d8d1bc3f2"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c4f5ddf9-e5b1-488c-a1ee-ac9d8d1bc3f2"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c4f5ddf9-e5b1-488c-a1ee-ac9d8d1bc3f2"},"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:58600","level":"info","msg":"Received request.","req_id":739,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:43Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":739,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.231736,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:43Z"} authorization-1 | {"client_addr":"127.0.0.1:36164","level":"info","msg":"Received request.","req_id":740,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444063,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2M30.TxhX6xciFG2sGCpYu-W6TZGNrMyBdoBBRwmCgfWRowQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0ff3f8f0-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:36164","level":"info","msg":"Sent response.","req_id":740,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.750735,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/67bd3ec7-d23f-422b-a6cc-76b143e75f6b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/67bd3ec7-d23f-422b-a6cc-76b143e75f6b","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444063,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2M30.TxhX6xciFG2sGCpYu-W6TZGNrMyBdoBBRwmCgfWRowQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0ff44710-3d2b-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10bfcb38-3fd3-4fd4-a0ac-939e6df2030d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10bfcb38-3fd3-4fd4-a0ac-939e6df2030d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:42.535951824Z"}]},"request_id":"0a27f66f-05a3-44e0-b613-3110ee26cf84","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444063.2450268} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0ff3f8f0-3d2b-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67bd3ec7-d23f-422b-a6cc-76b143e75f6b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67bd3ec7-d23f-422b-a6cc-76b143e75f6b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:42.585908040Z"}]},"request_id":"45959840-8881-4dac-b13d-22a64dc87193","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444063.2464812} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0ff44710-3d2b-11ef-b23c-0125361f42d1"},"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/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d? 200 22ms","method":"GET","requestID":"0ff3f8f0-3d2b-11ef-b23c-0125361f42d1","responseTime":22,"status":200,"url":"/devices/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/67bd3ec7-d23f-422b-a6cc-76b143e75f6b? 200 22ms","method":"GET","requestID":"0ff44710-3d2b-11ef-b23c-0125361f42d1","responseTime":22,"status":200,"url":"/devices/67bd3ec7-d23f-422b-a6cc-76b143e75f6b?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c4f5ddf9-e5b1-488c-a1ee-ac9d8d1bc3f2"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c4f5ddf9-e5b1-488c-a1ee-ac9d8d1bc3f2"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c4f5ddf9-e5b1-488c-a1ee-ac9d8d1bc3f2"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c4f5ddf9-e5b1-488c-a1ee-ac9d8d1bc3f2"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c4f5ddf9-e5b1-488c-a1ee-ac9d8d1bc3f2"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c4f5ddf9-e5b1-488c-a1ee-ac9d8d1bc3f2"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c4f5ddf9-e5b1-488c-a1ee-ac9d8d1bc3f2"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c4f5ddf9-e5b1-488c-a1ee-ac9d8d1bc3f2"},"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/c4f5ddf9-e5b1-488c-a1ee-ac9d8d1bc3f2"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":741,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:43Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":741,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.804549,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:43Z"} authorization-1 | {"client_addr":"127.0.0.1:36164","level":"info","msg":"Received request.","req_id":742,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444063,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2M30.TxhX6xciFG2sGCpYu-W6TZGNrMyBdoBBRwmCgfWRowQ"} 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":"10002df0-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:36164","level":"info","msg":"Sent response.","req_id":742,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.360621,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/67bd3ec7-d23f-422b-a6cc-76b143e75f6b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/67bd3ec7-d23f-422b-a6cc-76b143e75f6b","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444063,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2M30.TxhX6xciFG2sGCpYu-W6TZGNrMyBdoBBRwmCgfWRowQ"} 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":"10007c10-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":743,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:43Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10bfcb38-3fd3-4fd4-a0ac-939e6df2030d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9f27c2df-fcbb-4fdb-8240-174d2c5c2cd7","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444063.327545} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":743,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.2637,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d","object_type":"device","rebac_allow":false,"scope_allow":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":"1000f140-3d2b-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10bfcb38-3fd3-4fd4-a0ac-939e6df2030d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10bfcb38-3fd3-4fd4-a0ac-939e6df2030d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:42.535951824Z"}]},"request_id":"a670e2ce-a6a2-4f34-bae1-126c00445cea","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444063.3323903} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d/signaling 200 23ms","method":"POST","requestID":"1000f140-3d2b-11ef-b23c-0125361f42d1","responseTime":23,"status":200,"url":"/devices/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d/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":"10002df0-3d2b-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67bd3ec7-d23f-422b-a6cc-76b143e75f6b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67bd3ec7-d23f-422b-a6cc-76b143e75f6b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:42.585908040Z"}]},"request_id":"dd241e30-65d0-4717-87f7-66ea9683e9ee","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444063.3379035} 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":"10007c10-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d? 200 39ms","method":"GET","requestID":"10002df0-3d2b-11ef-b23c-0125361f42d1","responseTime":39,"status":200,"url":"/devices/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc4f5ddf9-e5b1-488c-a1ee-ac9d8d1bc3f2#owner@http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc4f5ddf9-e5b1-488c-a1ee-ac9d8d1bc3f2","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"de5986f2-985b-431d-bf39-f9b940c30549","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444063.3493621} device-1 | {"level":"info","message":"GET /devices/67bd3ec7-d23f-422b-a6cc-76b143e75f6b? 200 38ms","method":"GET","requestID":"10007c10-3d2b-11ef-b23c-0125361f42d1","responseTime":38,"status":200,"url":"/devices/67bd3ec7-d23f-422b-a6cc-76b143e75f6b?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5540f332-7d6d-48f4-a8db-800be503111c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444063.3498032} authorization-1 | {"level":"info","message":"POST /relations/update 200 29ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5e064bb9a52f9e69b5beb94cd5c24998"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":29}} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":744,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:43Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67bd3ec7-d23f-422b-a6cc-76b143e75f6b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f9f514c7-aafd-4ee1-94a9-0c3ea059179a","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444063.3558981} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":744,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.822971,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:43Z"} authorization-1 | {"client_addr":"127.0.0.1:36164","level":"info","msg":"Received request.","req_id":745,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/67bd3ec7-d23f-422b-a6cc-76b143e75f6b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/67bd3ec7-d23f-422b-a6cc-76b143e75f6b","object_type":"device","rebac_allow":false,"scope_allow":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":"10053700-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10bfcb38-3fd3-4fd4-a0ac-939e6df2030d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c4f5ab1e-a0fb-4f97-9a40-dc96854fe0c7","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444063.360415} authorization-1 | {"client_addr":"127.0.0.1:36164","level":"info","msg":"Sent response.","req_id":745,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.407014,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:43Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"POST /devices/67bd3ec7-d23f-422b-a6cc-76b143e75f6b/signaling 200 18ms","method":"POST","requestID":"10053700-3d2b-11ef-b23c-0125361f42d1","responseTime":18,"status":200,"url":"/devices/67bd3ec7-d23f-422b-a6cc-76b143e75f6b/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1006bda0-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/c4f5ddf9-e5b1-488c-a1ee-ac9d8d1bc3f2","user":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"08/Jul/2024:13:07:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.176","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5e064bb9a52f9e69b5beb94cd5c24998"} experiment-1 | {"level":"info","message":"POST /experiments? 201 170ms","method":"POST","requestID":"5e064bb9a52f9e69b5beb94cd5c24998","responseTime":170,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d/signaling 200 11ms","method":"POST","requestID":"1006bda0-3d2b-11ef-b23c-0125361f42d1","responseTime":11,"status":200,"url":"/devices/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2M30.TxhX6xciFG2sGCpYu-W6TZGNrMyBdoBBRwmCgfWRowQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8277e457020dc48fcc7308f586ab5b2a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":746,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:43Z"} authorization-1 | {"client_addr":"127.0.0.1:36164","level":"info","msg":"Received request.","req_id":747,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:43Z"} authorization-1 | {"client_addr":"127.0.0.1:36164","level":"info","msg":"Sent response.","req_id":747,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.710037,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444063,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2M30.TxhX6xciFG2sGCpYu-W6TZGNrMyBdoBBRwmCgfWRowQ"} 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":"8277e457020dc48fcc7308f586ab5b2a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67bd3ec7-d23f-422b-a6cc-76b143e75f6b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"964bd909-2a80-4642-8535-4a14f72f824e","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444063.3723543} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":746,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.440084,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/67bd3ec7-d23f-422b-a6cc-76b143e75f6b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/67bd3ec7-d23f-422b-a6cc-76b143e75f6b","object_type":"device","rebac_allow":false,"scope_allow":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":"1008e080-3d2b-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10bfcb38-3fd3-4fd4-a0ac-939e6df2030d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10bfcb38-3fd3-4fd4-a0ac-939e6df2030d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:42.535951824Z"}]},"request_id":"fe724ad2-4ea3-48b6-b3f5-3363bcfba218","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444063.3765588} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8277e457020dc48fcc7308f586ab5b2a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"POST /devices/67bd3ec7-d23f-422b-a6cc-76b143e75f6b/signaling 200 10ms","method":"POST","requestID":"1008e080-3d2b-11ef-b23c-0125361f42d1","responseTime":10,"status":200,"url":"/devices/67bd3ec7-d23f-422b-a6cc-76b143e75f6b/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c4f5ddf9-e5b1-488c-a1ee-ac9d8d1bc3f2"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c4f5ddf9-e5b1-488c-a1ee-ac9d8d1bc3f2"},"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":"151958ae-135a-4d89-991e-a45e9b990093"},{"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":"546d2c39-be58-4bb6-a38a-f517b30592cf"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"f2a138e4-e840-4772-8a59-76689ccb1218"}]},"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/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d"},{"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/67bd3ec7-d23f-422b-a6cc-76b143e75f6b"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:07:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8277e457020dc48fcc7308f586ab5b2a"} device-1 | {"level":"info","message":"GET /devices/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d? 200 11ms","method":"GET","requestID":"8277e457020dc48fcc7308f586ab5b2a","responseTime":11,"status":200,"url":"/devices/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d?"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":748,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:43Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":748,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.771179,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:43Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444063,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2M30.TxhX6xciFG2sGCpYu-W6TZGNrMyBdoBBRwmCgfWRowQ"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2M30.TxhX6xciFG2sGCpYu-W6TZGNrMyBdoBBRwmCgfWRowQ","level":"info","message":"auth send jwt"} 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":"100adc50-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"38aec57fd527d0dc81c83c7fffdb4380","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":749,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:43Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":749,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.226842,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/67bd3ec7-d23f-422b-a6cc-76b143e75f6b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/67bd3ec7-d23f-422b-a6cc-76b143e75f6b","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444063,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2M30.TxhX6xciFG2sGCpYu-W6TZGNrMyBdoBBRwmCgfWRowQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"38aec57fd527d0dc81c83c7fffdb4380"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67bd3ec7-d23f-422b-a6cc-76b143e75f6b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67bd3ec7-d23f-422b-a6cc-76b143e75f6b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:42.585908040Z"}]},"request_id":"993302f8-43ef-4a91-b851-4141bb12af85","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444063.3942814} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"38aec57fd527d0dc81c83c7fffdb4380"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","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%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"1edb17fd-d372-4b3b-bd2a-53acd1caba8b","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444063.3955338} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e0def373-8792-45ab-a7a4-11243b4b5c16","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444063.3961098} 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":"100adc50-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:07:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/67bd3ec7-d23f-422b-a6cc-76b143e75f6b? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"38aec57fd527d0dc81c83c7fffdb4380"} device-1 | {"level":"info","message":"GET /devices/67bd3ec7-d23f-422b-a6cc-76b143e75f6b? 200 13ms","method":"GET","requestID":"38aec57fd527d0dc81c83c7fffdb4380","responseTime":13,"status":200,"url":"/devices/67bd3ec7-d23f-422b-a6cc-76b143e75f6b?"} 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/d473a642-75d8-421d-a0c3-ec64d240eba0'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/d473a642-75d8-421d-a0c3-ec64d240eba0'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 28ms","method":"POST","requestID":"100adc50-3d2b-11ef-b23c-0125361f42d1","responseTime":28,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c4f5ddf9-e5b1-488c-a1ee-ac9d8d1bc3f2"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":750,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:43Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10bfcb38-3fd3-4fd4-a0ac-939e6df2030d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"326c08e2-0e50-4699-bf92-6c8b6e3ddaba","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444063.446505} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":750,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.592942,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d","object_type":"device","rebac_allow":false,"scope_allow":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":"10140410-3d2b-11ef-b23c-0125361f42d1"},"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/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d/signaling 200 10ms","method":"POST","requestID":"10140410-3d2b-11ef-b23c-0125361f42d1","responseTime":10,"status":200,"url":"/devices/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":751,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:43Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67bd3ec7-d23f-422b-a6cc-76b143e75f6b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"559e39a4-c152-4bff-9020-f8613207a753","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444063.456925} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":751,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.554854,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/67bd3ec7-d23f-422b-a6cc-76b143e75f6b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/67bd3ec7-d23f-422b-a6cc-76b143e75f6b","object_type":"device","rebac_allow":false,"scope_allow":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":"1015d8d0-3d2b-11ef-b23c-0125361f42d1"},"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/67bd3ec7-d23f-422b-a6cc-76b143e75f6b/signaling 200 8ms","method":"POST","requestID":"1015d8d0-3d2b-11ef-b23c-0125361f42d1","responseTime":8,"status":200,"url":"/devices/67bd3ec7-d23f-422b-a6cc-76b143e75f6b/signaling"} device-1 | {"data":{"peerconnection":"d473a642-75d8-421d-a0c3-ec64d240eba0","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"d473a642-75d8-421d-a0c3-ec64d240eba0","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/d473a642-75d8-421d-a0c3-ec64d240eba0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d473a642-75d8-421d-a0c3-ec64d240eba0","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":"cf6539efac3333094cab06b363817a90","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d"},{"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/67bd3ec7-d23f-422b-a6cc-76b143e75f6b"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/d473a642-75d8-421d-a0c3-ec64d240eba0"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"cf6539efac3333094cab06b363817a90","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07: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.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"cf6539efac3333094cab06b363817a90"} device-1 | {"data":{"peerconnection":"d473a642-75d8-421d-a0c3-ec64d240eba0","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"d473a642-75d8-421d-a0c3-ec64d240eba0","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/d473a642-75d8-421d-a0c3-ec64d240eba0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d473a642-75d8-421d-a0c3-ec64d240eba0","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":"b6d53fff7f4e40b272bd620f9bf2167c","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/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d"},{"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/67bd3ec7-d23f-422b-a6cc-76b143e75f6b"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/d473a642-75d8-421d-a0c3-ec64d240eba0"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":752,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:45Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd473a642-75d8-421d-a0c3-ec64d240eba0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6c4c919d-7eea-4b15-ba92-228ea82a367e","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444065.527239} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":752,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.579039,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/d473a642-75d8-421d-a0c3-ec64d240eba0","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/d473a642-75d8-421d-a0c3-ec64d240eba0","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":"11516610-3d2b-11ef-b23c-0125361f42d1"},"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/d473a642-75d8-421d-a0c3-ec64d240eba0 200 11ms","method":"GET","requestID":"11516610-3d2b-11ef-b23c-0125361f42d1","responseTime":11,"status":200,"url":"/peerconnections/d473a642-75d8-421d-a0c3-ec64d240eba0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 44ms","method":"POST","requestID":"b6d53fff7f4e40b272bd620f9bf2167c","responseTime":44,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07: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.048","http_referrer":"","http_user_agent":"node-fetch","requestID":"b6d53fff7f4e40b272bd620f9bf2167c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":753,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:45Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10bfcb38-3fd3-4fd4-a0ac-939e6df2030d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"21d0e44a-7f72-43c3-b607-9bf8c8c49828","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444065.5641673} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":753,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.002457,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d","object_type":"device","rebac_allow":false,"scope_allow":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":"1156bd40-3d2b-11ef-b23c-0125361f42d1"},"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/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d/signaling 200 15ms","method":"POST","requestID":"1156bd40-3d2b-11ef-b23c-0125361f42d1","responseTime":15,"status":200,"url":"/devices/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":754,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:45Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67bd3ec7-d23f-422b-a6cc-76b143e75f6b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ddd0265f-0875-476e-b705-93c698cfb732","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444065.580208} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":754,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.715948,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/67bd3ec7-d23f-422b-a6cc-76b143e75f6b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/67bd3ec7-d23f-422b-a6cc-76b143e75f6b","object_type":"device","rebac_allow":false,"scope_allow":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":"11597c60-3d2b-11ef-b23c-0125361f42d1"},"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/67bd3ec7-d23f-422b-a6cc-76b143e75f6b/signaling 200 12ms","method":"POST","requestID":"11597c60-3d2b-11ef-b23c-0125361f42d1","responseTime":12,"status":200,"url":"/devices/67bd3ec7-d23f-422b-a6cc-76b143e75f6b/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2NX0.zhLSgUFRbUH2OctxuOCeYOR-z_xEGbdkz-x8aE9sSP8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a1b9609908bc8c70866621acd17d6bd6","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/c4f5ddf9-e5b1-488c-a1ee-ac9d8d1bc3f2"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":755,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:45Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":755,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.241463,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c4f5ddf9-e5b1-488c-a1ee-ac9d8d1bc3f2","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/c4f5ddf9-e5b1-488c-a1ee-ac9d8d1bc3f2","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444065,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2NX0.zhLSgUFRbUH2OctxuOCeYOR-z_xEGbdkz-x8aE9sSP8"} 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":"a1b9609908bc8c70866621acd17d6bd6"},"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/c4f5ddf9-e5b1-488c-a1ee-ac9d8d1bc3f2"} gateway-1 | {"time_local":"08/Jul/2024:13:07:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/c4f5ddf9-e5b1-488c-a1ee-ac9d8d1bc3f2 HTTP/1.1","status": "200","body_bytes_sent":"1292","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a1b9609908bc8c70866621acd17d6bd6"} experiment-1 | {"level":"info","message":"GET /experiments/c4f5ddf9-e5b1-488c-a1ee-ac9d8d1bc3f2 200 15ms","method":"GET","requestID":"a1b9609908bc8c70866621acd17d6bd6","responseTime":15,"status":200,"url":"/experiments/c4f5ddf9-e5b1-488c-a1ee-ac9d8d1bc3f2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2NX0.zhLSgUFRbUH2OctxuOCeYOR-z_xEGbdkz-x8aE9sSP8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"afe3974ae73dc386457068e1d55744fe","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/c4f5ddf9-e5b1-488c-a1ee-ac9d8d1bc3f2"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":756,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:45Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":756,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.241739,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:45Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c4f5ddf9-e5b1-488c-a1ee-ac9d8d1bc3f2","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/c4f5ddf9-e5b1-488c-a1ee-ac9d8d1bc3f2","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444065,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2NX0.zhLSgUFRbUH2OctxuOCeYOR-z_xEGbdkz-x8aE9sSP8"} 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":"afe3974ae73dc386457068e1d55744fe"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c4f5ddf9-e5b1-488c-a1ee-ac9d8d1bc3f2"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":757,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:45Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":757,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.285029,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:45Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/d473a642-75d8-421d-a0c3-ec64d240eba0","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:http://localhost/peerconnections/d473a642-75d8-421d-a0c3-ec64d240eba0","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444065,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2NX0.zhLSgUFRbUH2OctxuOCeYOR-z_xEGbdkz-x8aE9sSP8"} 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":"116451d0-3d2b-11ef-b23c-0125361f42d1"},"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/d473a642-75d8-421d-a0c3-ec64d240eba0' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/d473a642-75d8-421d-a0c3-ec64d240eba0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d473a642-75d8-421d-a0c3-ec64d240eba0","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":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd473a642-75d8-421d-a0c3-ec64d240eba0': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd473a642-75d8-421d-a0c3-ec64d240eba0","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"e8c2d6b8-dd1f-4100-b084-90997cd0aec9","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444065.6746984} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f21a1e0b4bdfcfd978b45dcb207fd62b","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4dbba17b-cdfa-4b4c-93cd-f395729edb8a","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444065.6762676} 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/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d"},{"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/67bd3ec7-d23f-422b-a6cc-76b143e75f6b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/d473a642-75d8-421d-a0c3-ec64d240eba0"}}},"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 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":"116451d0-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"58a56f9097491ac4fe0a3da48e029fc7","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/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d"},{"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/67bd3ec7-d23f-422b-a6cc-76b143e75f6b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/d473a642-75d8-421d-a0c3-ec64d240eba0"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"d473a642-75d8-421d-a0c3-ec64d240eba0","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/d473a642-75d8-421d-a0c3-ec64d240eba0 204 54ms","method":"DELETE","requestID":"116451d0-3d2b-11ef-b23c-0125361f42d1","responseTime":54,"status":204,"url":"/peerconnections/d473a642-75d8-421d-a0c3-ec64d240eba0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c4f5ddf9-e5b1-488c-a1ee-ac9d8d1bc3f2"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":758,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:45Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10bfcb38-3fd3-4fd4-a0ac-939e6df2030d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"76a3ab9e-9004-4fec-8d19-248815a207ee","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444065.7311816} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":758,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.135331,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d","object_type":"device","rebac_allow":false,"scope_allow":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":"11705fc0-3d2b-11ef-b23c-0125361f42d1"},"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/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d/signaling 200 14ms","method":"POST","requestID":"11705fc0-3d2b-11ef-b23c-0125361f42d1","responseTime":14,"status":200,"url":"/devices/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d/signaling"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc4f5ddf9-e5b1-488c-a1ee-ac9d8d1bc3f2': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc4f5ddf9-e5b1-488c-a1ee-ac9d8d1bc3f2","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"831c86ad-843a-4204-9345-b3b999816b15","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444065.7383623} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"545a1cee-33ee-42b8-820e-f9822c582e7f","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444065.73901} 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":"afe3974ae73dc386457068e1d55744fe"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":759,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:45Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67bd3ec7-d23f-422b-a6cc-76b143e75f6b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f8631c7e-11fd-4430-aef7-ea80fefc644b","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444065.7492733} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":759,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.905738,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/67bd3ec7-d23f-422b-a6cc-76b143e75f6b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/67bd3ec7-d23f-422b-a6cc-76b143e75f6b","object_type":"device","rebac_allow":false,"scope_allow":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":"11731ee0-3d2b-11ef-b23c-0125361f42d1"},"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/67bd3ec7-d23f-422b-a6cc-76b143e75f6b/signaling 200 14ms","method":"POST","requestID":"11731ee0-3d2b-11ef-b23c-0125361f42d1","responseTime":14,"status":200,"url":"/devices/67bd3ec7-d23f-422b-a6cc-76b143e75f6b/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/c4f5ddf9-e5b1-488c-a1ee-ac9d8d1bc3f2"} gateway-1 | {"time_local":"08/Jul/2024:13:07:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/c4f5ddf9-e5b1-488c-a1ee-ac9d8d1bc3f2 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.194","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"afe3974ae73dc386457068e1d55744fe"} gateway-1 | {"time_local":"08/Jul/2024:13:07:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2709","request_time":"2.699","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"a2485f06f443c33483b86a9a42f11690"} gateway-1 | {"time_local":"08/Jul/2024:13:07:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2707","request_time":"2.692","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"c5ab5f4fead09fbe426b51b633c6457c"} experiment-1 | {"level":"info","message":"DELETE /experiments/c4f5ddf9-e5b1-488c-a1ee-ac9d8d1bc3f2 204 190ms","method":"DELETE","requestID":"afe3974ae73dc386457068e1d55744fe","responseTime":190,"status":204,"url":"/experiments/c4f5ddf9-e5b1-488c-a1ee-ac9d8d1bc3f2"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 144ms","method":"POST","requestID":"f21a1e0b4bdfcfd978b45dcb207fd62b","responseTime":144,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07: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.151","http_referrer":"","http_user_agent":"node-fetch","requestID":"f21a1e0b4bdfcfd978b45dcb207fd62b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2NX0.zhLSgUFRbUH2OctxuOCeYOR-z_xEGbdkz-x8aE9sSP8","level":"info","message":"auth send jwt"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 141ms","method":"POST","requestID":"58a56f9097491ac4fe0a3da48e029fc7","responseTime":141,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07: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":"58a56f9097491ac4fe0a3da48e029fc7"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"930bfe4d3f434b2f03305f0905193a02","responseTime":3,"status":200,"url":"/auth"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/67bd3ec7-d23f-422b-a6cc-76b143e75f6b' closed"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":760,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:45Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":760,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.10354,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444065,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2NX0.zhLSgUFRbUH2OctxuOCeYOR-z_xEGbdkz-x8aE9sSP8"} 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":"930bfe4d3f434b2f03305f0905193a02"},"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/10bfcb38-3fd3-4fd4-a0ac-939e6df2030d' 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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf4a46c8-deb1-4df9-995c-13bbd2503d39","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5fa64950-db99-4dce-9183-267a1754169a","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444065.8459775} 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":"930bfe4d3f434b2f03305f0905193a02"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f477c2ea-510a-4c30-b8c8-2df366eb4503","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444065.851046} 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":"930bfe4d3f434b2f03305f0905193a02"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf4a46c8-deb1-4df9-995c-13bbd2503d39","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"861b5dd4-e2e5-4458-8914-78e54d6a1be4","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444065.8599312} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"11b47b63-0a23-4370-94bf-889ff3a7d7da","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444065.860184} 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":"930bfe4d3f434b2f03305f0905193a02"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf4a46c8-deb1-4df9-995c-13bbd2503d39","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf4a46c8-deb1-4df9-995c-13bbd2503d39","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:45.859902284Z"}]},"request_id":"450163fb-85e6-4275-a62d-a7672ad02dbf","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444065.865049} 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":"930bfe4d3f434b2f03305f0905193a02"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:07:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"930bfe4d3f434b2f03305f0905193a02"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"930bfe4d3f434b2f03305f0905193a02","responseTime":41,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2NX0.zhLSgUFRbUH2OctxuOCeYOR-z_xEGbdkz-x8aE9sSP8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"928f0b4999e288078329126909766e5f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":761,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:45Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":761,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.855093,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444065,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2NX0.zhLSgUFRbUH2OctxuOCeYOR-z_xEGbdkz-x8aE9sSP8"} 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":"928f0b4999e288078329126909766e5f"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc54e73c2-7fa7-4025-860c-c7596b921366","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"82f8b554-d352-42dc-9657-8cfe41b3ca5d","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444065.8908775} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"928f0b4999e288078329126909766e5f"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0357c1e6-f2f9-4d2a-a007-cb7edaceecd6","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444065.8961086} 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":"928f0b4999e288078329126909766e5f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc54e73c2-7fa7-4025-860c-c7596b921366","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"11ac9d37-18ac-431a-a1f0-c920469f81ca","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444065.911327} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f5dd7d97-db4d-4e86-bc35-838f51340d3a","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444065.9115233} 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":"928f0b4999e288078329126909766e5f"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc54e73c2-7fa7-4025-860c-c7596b921366","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc54e73c2-7fa7-4025-860c-c7596b921366","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:45.911296383Z"}]},"request_id":"a10a4b71-bb76-487a-b6b4-6e3a922246b3","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444065.9159777} 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":"928f0b4999e288078329126909766e5f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:07:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"928f0b4999e288078329126909766e5f"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"928f0b4999e288078329126909766e5f","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2Nn0.eqRCQvXwdpIacXzrobbDPTobASnIM4pFL4HNHDMVRLE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"0ee8cfe5bedf8511e7f8dc2feb6a79d4","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2Nn0.eqRCQvXwdpIacXzrobbDPTobASnIM4pFL4HNHDMVRLE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"98fcba341d0e5d529fbb842c55ef407a","responseTime":8,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":762,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:46Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":762,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.771543,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:46Z"} authorization-1 | {"client_addr":"127.0.0.1:36164","level":"info","msg":"Received request.","req_id":763,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:46Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf4a46c8-deb1-4df9-995c-13bbd2503d39","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/bf4a46c8-deb1-4df9-995c-13bbd2503d39","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444066,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2Nn0.eqRCQvXwdpIacXzrobbDPTobASnIM4pFL4HNHDMVRLE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0ee8cfe5bedf8511e7f8dc2feb6a79d4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:36164","level":"info","msg":"Sent response.","req_id":763,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.775013,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:46Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c54e73c2-7fa7-4025-860c-c7596b921366","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/c54e73c2-7fa7-4025-860c-c7596b921366","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444066,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2Nn0.eqRCQvXwdpIacXzrobbDPTobASnIM4pFL4HNHDMVRLE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"98fcba341d0e5d529fbb842c55ef407a"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf4a46c8-deb1-4df9-995c-13bbd2503d39","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf4a46c8-deb1-4df9-995c-13bbd2503d39","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:45.859902284Z"}]},"request_id":"8b8cd9b7-afa1-4d54-8979-b812dc6913f3","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444066.4073339} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0ee8cfe5bedf8511e7f8dc2feb6a79d4"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc54e73c2-7fa7-4025-860c-c7596b921366","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc54e73c2-7fa7-4025-860c-c7596b921366","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:45.911296383Z"}]},"request_id":"d154d38a-c331-4252-bcf5-72e62ccc2713","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444066.4081833} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"98fcba341d0e5d529fbb842c55ef407a"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d6efbab3-f9e6-4745-883f-48bbc67714df","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444066.4124143} 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":"0ee8cfe5bedf8511e7f8dc2feb6a79d4"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9d0c7123-c533-4f48-82e7-d95f620f0f4b","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444066.4142306} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"98fcba341d0e5d529fbb842c55ef407a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc54e73c2-7fa7-4025-860c-c7596b921366","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc54e73c2-7fa7-4025-860c-c7596b921366","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:45.911296383Z"}]},"request_id":"59ed27b7-5fa9-42a4-aae5-89086e9b03b7","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444066.4195354} 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":"98fcba341d0e5d529fbb842c55ef407a"},"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":"08/Jul/2024:13:07:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/c54e73c2-7fa7-4025-860c-c7596b921366 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.035","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"98fcba341d0e5d529fbb842c55ef407a"} device-1 | {"level":"info","message":"PATCH /devices/c54e73c2-7fa7-4025-860c-c7596b921366 200 24ms","method":"PATCH","requestID":"98fcba341d0e5d529fbb842c55ef407a","responseTime":24,"status":200,"url":"/devices/c54e73c2-7fa7-4025-860c-c7596b921366"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf4a46c8-deb1-4df9-995c-13bbd2503d39","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf4a46c8-deb1-4df9-995c-13bbd2503d39","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:45.859902284Z"}]},"request_id":"82c9a908-5657-43f8-9160-6dd82d806b1d","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444066.42447} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0ee8cfe5bedf8511e7f8dc2feb6a79d4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2Nn0.eqRCQvXwdpIacXzrobbDPTobASnIM4pFL4HNHDMVRLE","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8cecda78660b60e374a8ef46fb537aff","responseTime":3,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:07:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/bf4a46c8-deb1-4df9-995c-13bbd2503d39 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.041","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"0ee8cfe5bedf8511e7f8dc2feb6a79d4"} device-1 | {"level":"info","message":"PATCH /devices/bf4a46c8-deb1-4df9-995c-13bbd2503d39 200 32ms","method":"PATCH","requestID":"0ee8cfe5bedf8511e7f8dc2feb6a79d4","responseTime":32,"status":200,"url":"/devices/bf4a46c8-deb1-4df9-995c-13bbd2503d39"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":764,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:46Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2Nn0.eqRCQvXwdpIacXzrobbDPTobASnIM4pFL4HNHDMVRLE","level":"info","message":"auth send jwt"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":764,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.482083,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:46Z"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b436d6e445779aa05959caef19d33892","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c54e73c2-7fa7-4025-860c-c7596b921366","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/c54e73c2-7fa7-4025-860c-c7596b921366","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444066,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2Nn0.eqRCQvXwdpIacXzrobbDPTobASnIM4pFL4HNHDMVRLE"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8cecda78660b60e374a8ef46fb537aff"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":765,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:46Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":765,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.731087,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:46Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf4a46c8-deb1-4df9-995c-13bbd2503d39","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/bf4a46c8-deb1-4df9-995c-13bbd2503d39","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444066,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2Nn0.eqRCQvXwdpIacXzrobbDPTobASnIM4pFL4HNHDMVRLE"} 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":"b436d6e445779aa05959caef19d33892"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/c54e73c2-7fa7-4025-860c-c7596b921366/websocket 200 16ms","method":"POST","requestID":"8cecda78660b60e374a8ef46fb537aff","responseTime":16,"status":200,"url":"/devices/c54e73c2-7fa7-4025-860c-c7596b921366/websocket"} gateway-1 | {"time_local":"08/Jul/2024:13:07:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c54e73c2-7fa7-4025-860c-c7596b921366/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.021","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"8cecda78660b60e374a8ef46fb537aff"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/bf4a46c8-deb1-4df9-995c-13bbd2503d39/websocket 200 19ms","method":"POST","requestID":"b436d6e445779aa05959caef19d33892","responseTime":19,"status":200,"url":"/devices/bf4a46c8-deb1-4df9-995c-13bbd2503d39/websocket"} gateway-1 | {"time_local":"08/Jul/2024:13:07:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/bf4a46c8-deb1-4df9-995c-13bbd2503d39/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.022","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"b436d6e445779aa05959caef19d33892"} device-1 | {"level":"info","message":"device 'http://localhost/devices/c54e73c2-7fa7-4025-860c-c7596b921366' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/bf4a46c8-deb1-4df9-995c-13bbd2503d39' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2Nn0.eqRCQvXwdpIacXzrobbDPTobASnIM4pFL4HNHDMVRLE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"91dcd3cba888282eea7fcf273cfa5045","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":766,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:46Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":766,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.678798,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf4a46c8-deb1-4df9-995c-13bbd2503d39","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/bf4a46c8-deb1-4df9-995c-13bbd2503d39","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444066,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2Nn0.eqRCQvXwdpIacXzrobbDPTobASnIM4pFL4HNHDMVRLE"} 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":"91dcd3cba888282eea7fcf273cfa5045"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf4a46c8-deb1-4df9-995c-13bbd2503d39","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf4a46c8-deb1-4df9-995c-13bbd2503d39","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:45.859902284Z"}]},"request_id":"d43dae01-6b88-4d94-9090-e23d1fb8a74c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444066.4777012} 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":"91dcd3cba888282eea7fcf273cfa5045"},"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":"08/Jul/2024:13:07:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bf4a46c8-deb1-4df9-995c-13bbd2503d39? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"91dcd3cba888282eea7fcf273cfa5045"} device-1 | {"level":"info","message":"GET /devices/bf4a46c8-deb1-4df9-995c-13bbd2503d39? 200 11ms","method":"GET","requestID":"91dcd3cba888282eea7fcf273cfa5045","responseTime":11,"status":200,"url":"/devices/bf4a46c8-deb1-4df9-995c-13bbd2503d39?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2Nn0.eqRCQvXwdpIacXzrobbDPTobASnIM4pFL4HNHDMVRLE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e9df070ae1392bc31de89ed67126da2f","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":767,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:46Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":767,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.07258,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c54e73c2-7fa7-4025-860c-c7596b921366","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/c54e73c2-7fa7-4025-860c-c7596b921366","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444066,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2Nn0.eqRCQvXwdpIacXzrobbDPTobASnIM4pFL4HNHDMVRLE"} 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":"e9df070ae1392bc31de89ed67126da2f"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc54e73c2-7fa7-4025-860c-c7596b921366","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc54e73c2-7fa7-4025-860c-c7596b921366","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:45.911296383Z"}]},"request_id":"05b7a590-27a2-4dda-804a-a6b4c1d2d6f9","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444066.498985} 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":"e9df070ae1392bc31de89ed67126da2f"},"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/c54e73c2-7fa7-4025-860c-c7596b921366? 200 13ms","method":"GET","requestID":"e9df070ae1392bc31de89ed67126da2f","responseTime":13,"status":200,"url":"/devices/c54e73c2-7fa7-4025-860c-c7596b921366?"} gateway-1 | {"time_local":"08/Jul/2024:13:07:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c54e73c2-7fa7-4025-860c-c7596b921366? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e9df070ae1392bc31de89ed67126da2f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2Nn0.eqRCQvXwdpIacXzrobbDPTobASnIM4pFL4HNHDMVRLE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ec3b5aae6483663db5d89728e6cdb31b","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:58600","level":"info","msg":"Received request.","req_id":768,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:46Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":768,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.945106,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:46Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444066,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2Nn0.eqRCQvXwdpIacXzrobbDPTobASnIM4pFL4HNHDMVRLE"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","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":"ec3b5aae6483663db5d89728e6cdb31b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc7001ad-bcfc-42c3-be8f-8870e1b2e1bb"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc7001ad-bcfc-42c3-be8f-8870e1b2e1bb"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc7001ad-bcfc-42c3-be8f-8870e1b2e1bb"},"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:58600","level":"info","msg":"Received request.","req_id":769,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:46Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":769,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.842199,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf4a46c8-deb1-4df9-995c-13bbd2503d39","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/bf4a46c8-deb1-4df9-995c-13bbd2503d39","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444066,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2Nn0.eqRCQvXwdpIacXzrobbDPTobASnIM4pFL4HNHDMVRLE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"11ee6960-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:36164","level":"info","msg":"Received request.","req_id":770,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:46Z"} authorization-1 | {"client_addr":"127.0.0.1:36164","level":"info","msg":"Sent response.","req_id":770,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.906937,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c54e73c2-7fa7-4025-860c-c7596b921366","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/c54e73c2-7fa7-4025-860c-c7596b921366","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444066,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2Nn0.eqRCQvXwdpIacXzrobbDPTobASnIM4pFL4HNHDMVRLE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"11eeb780-3d2b-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf4a46c8-deb1-4df9-995c-13bbd2503d39","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf4a46c8-deb1-4df9-995c-13bbd2503d39","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:45.859902284Z"}]},"request_id":"78e62197-899a-4250-b703-e50e15873c97","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444066.5605845} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"11ee6960-3d2b-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc54e73c2-7fa7-4025-860c-c7596b921366","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc54e73c2-7fa7-4025-860c-c7596b921366","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:45.911296383Z"}]},"request_id":"04777611-ad17-4f48-9aae-340cd6a4c66d","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444066.561564} 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":"11eeb780-3d2b-11ef-b23c-0125361f42d1"},"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/bf4a46c8-deb1-4df9-995c-13bbd2503d39? 200 16ms","method":"GET","requestID":"11ee6960-3d2b-11ef-b23c-0125361f42d1","responseTime":16,"status":200,"url":"/devices/bf4a46c8-deb1-4df9-995c-13bbd2503d39?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/c54e73c2-7fa7-4025-860c-c7596b921366? 200 15ms","method":"GET","requestID":"11eeb780-3d2b-11ef-b23c-0125361f42d1","responseTime":15,"status":200,"url":"/devices/c54e73c2-7fa7-4025-860c-c7596b921366?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc7001ad-bcfc-42c3-be8f-8870e1b2e1bb"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc7001ad-bcfc-42c3-be8f-8870e1b2e1bb"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc7001ad-bcfc-42c3-be8f-8870e1b2e1bb"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc7001ad-bcfc-42c3-be8f-8870e1b2e1bb"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc7001ad-bcfc-42c3-be8f-8870e1b2e1bb"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc7001ad-bcfc-42c3-be8f-8870e1b2e1bb"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc7001ad-bcfc-42c3-be8f-8870e1b2e1bb"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc7001ad-bcfc-42c3-be8f-8870e1b2e1bb"},"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/dc7001ad-bcfc-42c3-be8f-8870e1b2e1bb"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":771,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:46Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":771,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.22962,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:46Z"} authorization-1 | {"client_addr":"127.0.0.1:36164","level":"info","msg":"Received request.","req_id":772,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf4a46c8-deb1-4df9-995c-13bbd2503d39","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/bf4a46c8-deb1-4df9-995c-13bbd2503d39","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444066,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2Nn0.eqRCQvXwdpIacXzrobbDPTobASnIM4pFL4HNHDMVRLE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"11f8c9a0-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:36164","level":"info","msg":"Sent response.","req_id":772,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.342357,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c54e73c2-7fa7-4025-860c-c7596b921366","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/c54e73c2-7fa7-4025-860c-c7596b921366","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444066,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2Nn0.eqRCQvXwdpIacXzrobbDPTobASnIM4pFL4HNHDMVRLE"} 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":"11f8f0b0-3d2b-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf4a46c8-deb1-4df9-995c-13bbd2503d39","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf4a46c8-deb1-4df9-995c-13bbd2503d39","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:45.859902284Z"}]},"request_id":"c4f83b79-e9df-4841-b7c9-e03d7319cb10","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444066.6311405} 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":"11f8c9a0-3d2b-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc54e73c2-7fa7-4025-860c-c7596b921366","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc54e73c2-7fa7-4025-860c-c7596b921366","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:45.911296383Z"}]},"request_id":"95e59f5e-8e54-4b67-956a-17b07c5adb24","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444066.6327224} 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":"11f8f0b0-3d2b-11ef-b23c-0125361f42d1"},"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:35256","level":"info","msg":"Received request.","req_id":773,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:46Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf4a46c8-deb1-4df9-995c-13bbd2503d39","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"faa850e8-b17d-4e1b-b803-7878c8cdfc02","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444066.6377804} device-1 | {"level":"info","message":"GET /devices/bf4a46c8-deb1-4df9-995c-13bbd2503d39? 200 20ms","method":"GET","requestID":"11f8c9a0-3d2b-11ef-b23c-0125361f42d1","responseTime":20,"status":200,"url":"/devices/bf4a46c8-deb1-4df9-995c-13bbd2503d39?"} authorization-1 | {"client_addr":"127.0.0.1:35256","level":"info","msg":"Sent response.","req_id":773,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.121562,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf4a46c8-deb1-4df9-995c-13bbd2503d39","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bf4a46c8-deb1-4df9-995c-13bbd2503d39","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 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":"11f93ed0-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":14}} device-1 | {"level":"info","message":"GET /devices/c54e73c2-7fa7-4025-860c-c7596b921366? 200 21ms","method":"GET","requestID":"11f8f0b0-3d2b-11ef-b23c-0125361f42d1","responseTime":21,"status":200,"url":"/devices/c54e73c2-7fa7-4025-860c-c7596b921366?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/bf4a46c8-deb1-4df9-995c-13bbd2503d39/signaling 200 24ms","method":"POST","requestID":"11f93ed0-3d2b-11ef-b23c-0125361f42d1","responseTime":24,"status":200,"url":"/devices/bf4a46c8-deb1-4df9-995c-13bbd2503d39/signaling"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdc7001ad-bcfc-42c3-be8f-8870e1b2e1bb#owner@http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdc7001ad-bcfc-42c3-be8f-8870e1b2e1bb","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"4a6a3f75-7987-4d18-be1c-1b6daaeca369","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444066.6469934} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6ad53703-6f67-4aa5-af1d-5b5633fe166f","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444066.6472058} 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":"ec3b5aae6483663db5d89728e6cdb31b"},"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:58600","level":"info","msg":"Received request.","req_id":774,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:46Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":774,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.452947,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:46Z"} authorization-1 | {"client_addr":"127.0.0.1:36164","level":"info","msg":"Received request.","req_id":775,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:46Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf4a46c8-deb1-4df9-995c-13bbd2503d39","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5104fbae-a3dd-49aa-8995-c58a3c9e3529","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444066.6506696} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf4a46c8-deb1-4df9-995c-13bbd2503d39","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bf4a46c8-deb1-4df9-995c-13bbd2503d39","object_type":"device","rebac_allow":false,"scope_allow":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":"11fc9a30-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc54e73c2-7fa7-4025-860c-c7596b921366","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9b0f876e-aa34-454d-97d0-fd0b4195ff50","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444066.6552563} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/bf4a46c8-deb1-4df9-995c-13bbd2503d39/signaling 200 14ms","method":"POST","requestID":"11fc9a30-3d2b-11ef-b23c-0125361f42d1","responseTime":14,"status":200,"url":"/devices/bf4a46c8-deb1-4df9-995c-13bbd2503d39/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/dc7001ad-bcfc-42c3-be8f-8870e1b2e1bb","user":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"08/Jul/2024:13:07:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.153","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ec3b5aae6483663db5d89728e6cdb31b"} experiment-1 | {"level":"info","message":"POST /experiments? 201 148ms","method":"POST","requestID":"ec3b5aae6483663db5d89728e6cdb31b","responseTime":148,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:36164","level":"info","msg":"Sent response.","req_id":775,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":8.552389,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:46Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c54e73c2-7fa7-4025-860c-c7596b921366","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c54e73c2-7fa7-4025-860c-c7596b921366","object_type":"device","rebac_allow":false,"scope_allow":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":"11fd5d80-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2Nn0.eqRCQvXwdpIacXzrobbDPTobASnIM4pFL4HNHDMVRLE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"284e5b0c8b88283db508c669eba89c90","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":776,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:46Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/c54e73c2-7fa7-4025-860c-c7596b921366/signaling 200 17ms","method":"POST","requestID":"11fd5d80-3d2b-11ef-b23c-0125361f42d1","responseTime":17,"status":200,"url":"/devices/c54e73c2-7fa7-4025-860c-c7596b921366/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc54e73c2-7fa7-4025-860c-c7596b921366","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a476c275-9e83-4fb0-8dfb-c1b22add74a8","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444066.6666522} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":776,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.112805,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:46Z"} authorization-1 | {"client_addr":"127.0.0.1:36164","level":"info","msg":"Received request.","req_id":777,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c54e73c2-7fa7-4025-860c-c7596b921366","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c54e73c2-7fa7-4025-860c-c7596b921366","object_type":"device","rebac_allow":false,"scope_allow":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":"11ff5950-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:36164","level":"info","msg":"Sent response.","req_id":777,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.761329,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf4a46c8-deb1-4df9-995c-13bbd2503d39","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/bf4a46c8-deb1-4df9-995c-13bbd2503d39","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444066,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2Nn0.eqRCQvXwdpIacXzrobbDPTobASnIM4pFL4HNHDMVRLE"} 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":"284e5b0c8b88283db508c669eba89c90"},"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/c54e73c2-7fa7-4025-860c-c7596b921366/signaling 200 13ms","method":"POST","requestID":"11ff5950-3d2b-11ef-b23c-0125361f42d1","responseTime":13,"status":200,"url":"/devices/c54e73c2-7fa7-4025-860c-c7596b921366/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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf4a46c8-deb1-4df9-995c-13bbd2503d39","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf4a46c8-deb1-4df9-995c-13bbd2503d39","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:45.859902284Z"}]},"request_id":"199ecf91-6eca-405a-ad13-71dee618b6d4","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444066.6744857} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc7001ad-bcfc-42c3-be8f-8870e1b2e1bb"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc7001ad-bcfc-42c3-be8f-8870e1b2e1bb"},"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":"1e8f0853-2c6e-43c2-beb1-fbf65c657a62"},{"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":"6b525c2d-f1d5-4761-a6b7-4dd1a523daf0"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"9e229883-397b-46a4-9032-9fb9b382d54e"}]},"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/bf4a46c8-deb1-4df9-995c-13bbd2503d39"},{"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/c54e73c2-7fa7-4025-860c-c7596b921366"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"284e5b0c8b88283db508c669eba89c90"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:07:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bf4a46c8-deb1-4df9-995c-13bbd2503d39? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"284e5b0c8b88283db508c669eba89c90"} device-1 | {"level":"info","message":"GET /devices/bf4a46c8-deb1-4df9-995c-13bbd2503d39? 200 13ms","method":"GET","requestID":"284e5b0c8b88283db508c669eba89c90","responseTime":13,"status":200,"url":"/devices/bf4a46c8-deb1-4df9-995c-13bbd2503d39?"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":778,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:46Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":778,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.93216,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:46Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444066,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2Nn0.eqRCQvXwdpIacXzrobbDPTobASnIM4pFL4HNHDMVRLE"} 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":"1201ca50-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2Nn0.eqRCQvXwdpIacXzrobbDPTobASnIM4pFL4HNHDMVRLE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2fdf00b2f722aa73cfb6b5c9c60f0318","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":779,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:46Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":779,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.881553,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c54e73c2-7fa7-4025-860c-c7596b921366","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/c54e73c2-7fa7-4025-860c-c7596b921366","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444066,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2Nn0.eqRCQvXwdpIacXzrobbDPTobASnIM4pFL4HNHDMVRLE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2fdf00b2f722aa73cfb6b5c9c60f0318"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","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%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"ecb4976a-be48-4720-bd5b-e33dc2d8adf2","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444066.691832} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a57a7faa-411f-447d-a11e-7cd96e301912","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444066.6922936} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1201ca50-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc54e73c2-7fa7-4025-860c-c7596b921366","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc54e73c2-7fa7-4025-860c-c7596b921366","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:45.911296383Z"}]},"request_id":"e16c8b07-2950-478f-9d01-b957e430ad0c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444066.69816} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2fdf00b2f722aa73cfb6b5c9c60f0318"},"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/7450c777-87eb-43d2-96fe-29bddeb1b209'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/7450c777-87eb-43d2-96fe-29bddeb1b209'"} 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":"1201ca50-3d2b-11ef-b23c-0125361f42d1","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":"08/Jul/2024:13:07:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c54e73c2-7fa7-4025-860c-c7596b921366? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2fdf00b2f722aa73cfb6b5c9c60f0318"} device-1 | {"level":"info","message":"GET /devices/c54e73c2-7fa7-4025-860c-c7596b921366? 200 23ms","method":"GET","requestID":"2fdf00b2f722aa73cfb6b5c9c60f0318","responseTime":23,"status":200,"url":"/devices/c54e73c2-7fa7-4025-860c-c7596b921366?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc7001ad-bcfc-42c3-be8f-8870e1b2e1bb"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":780,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:46Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf4a46c8-deb1-4df9-995c-13bbd2503d39","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4cdaaf3b-610c-477c-a2b6-7d6827962f9e","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444066.7416594} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":780,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.085393,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf4a46c8-deb1-4df9-995c-13bbd2503d39","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bf4a46c8-deb1-4df9-995c-13bbd2503d39","object_type":"device","rebac_allow":false,"scope_allow":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":"120acb00-3d2b-11ef-b23c-0125361f42d1"},"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/bf4a46c8-deb1-4df9-995c-13bbd2503d39/signaling 200 10ms","method":"POST","requestID":"120acb00-3d2b-11ef-b23c-0125361f42d1","responseTime":10,"status":200,"url":"/devices/bf4a46c8-deb1-4df9-995c-13bbd2503d39/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":781,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:46Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc54e73c2-7fa7-4025-860c-c7596b921366","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aea9bd2f-0777-4a71-996f-2d17002c3e28","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444066.7525027} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":781,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.240245,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c54e73c2-7fa7-4025-860c-c7596b921366","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c54e73c2-7fa7-4025-860c-c7596b921366","object_type":"device","rebac_allow":false,"scope_allow":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":"120c78b0-3d2b-11ef-b23c-0125361f42d1"},"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/c54e73c2-7fa7-4025-860c-c7596b921366/signaling 200 10ms","method":"POST","requestID":"120c78b0-3d2b-11ef-b23c-0125361f42d1","responseTime":10,"status":200,"url":"/devices/c54e73c2-7fa7-4025-860c-c7596b921366/signaling"} device-1 | {"data":{"peerconnection":"7450c777-87eb-43d2-96fe-29bddeb1b209","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"7450c777-87eb-43d2-96fe-29bddeb1b209","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/7450c777-87eb-43d2-96fe-29bddeb1b209' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"7450c777-87eb-43d2-96fe-29bddeb1b209","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":"1b2ab52a342b4f91b3c57cfaa0e0031f","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/bf4a46c8-deb1-4df9-995c-13bbd2503d39"},{"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/c54e73c2-7fa7-4025-860c-c7596b921366"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/7450c777-87eb-43d2-96fe-29bddeb1b209"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"1b2ab52a342b4f91b3c57cfaa0e0031f","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07: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.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"1b2ab52a342b4f91b3c57cfaa0e0031f"} device-1 | {"data":{"peerconnection":"7450c777-87eb-43d2-96fe-29bddeb1b209","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"7450c777-87eb-43d2-96fe-29bddeb1b209","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/7450c777-87eb-43d2-96fe-29bddeb1b209' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"7450c777-87eb-43d2-96fe-29bddeb1b209","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":"f86b7a9321cb18912a27a58fac5963ca","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/bf4a46c8-deb1-4df9-995c-13bbd2503d39"},{"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/c54e73c2-7fa7-4025-860c-c7596b921366"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/7450c777-87eb-43d2-96fe-29bddeb1b209"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":782,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:48Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7450c777-87eb-43d2-96fe-29bddeb1b209","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c8ecc5bc-1f2b-4d5e-842b-8c8fabf28dcd","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444068.833136} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":782,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.874743,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/7450c777-87eb-43d2-96fe-29bddeb1b209","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/7450c777-87eb-43d2-96fe-29bddeb1b209","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":"13498c90-3d2b-11ef-b23c-0125361f42d1"},"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/7450c777-87eb-43d2-96fe-29bddeb1b209 200 14ms","method":"GET","requestID":"13498c90-3d2b-11ef-b23c-0125361f42d1","responseTime":14,"status":200,"url":"/peerconnections/7450c777-87eb-43d2-96fe-29bddeb1b209"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 51ms","method":"POST","requestID":"f86b7a9321cb18912a27a58fac5963ca","responseTime":51,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07: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.056","http_referrer":"","http_user_agent":"node-fetch","requestID":"f86b7a9321cb18912a27a58fac5963ca"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":783,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:48Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf4a46c8-deb1-4df9-995c-13bbd2503d39","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"97e4d971-c18e-41f6-9481-46ae67e50ee8","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444068.8782506} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":783,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.879704,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf4a46c8-deb1-4df9-995c-13bbd2503d39","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bf4a46c8-deb1-4df9-995c-13bbd2503d39","object_type":"device","rebac_allow":false,"scope_allow":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":"13509170-3d2b-11ef-b23c-0125361f42d1"},"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/bf4a46c8-deb1-4df9-995c-13bbd2503d39/signaling 200 14ms","method":"POST","requestID":"13509170-3d2b-11ef-b23c-0125361f42d1","responseTime":14,"status":200,"url":"/devices/bf4a46c8-deb1-4df9-995c-13bbd2503d39/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":784,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:48Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc54e73c2-7fa7-4025-860c-c7596b921366","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"00dc7873-4fad-4d1f-891e-f5e49f21d321","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444068.8961241} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":784,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.936708,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c54e73c2-7fa7-4025-860c-c7596b921366","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c54e73c2-7fa7-4025-860c-c7596b921366","object_type":"device","rebac_allow":false,"scope_allow":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":"13535090-3d2b-11ef-b23c-0125361f42d1"},"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/c54e73c2-7fa7-4025-860c-c7596b921366/signaling 200 13ms","method":"POST","requestID":"13535090-3d2b-11ef-b23c-0125361f42d1","responseTime":13,"status":200,"url":"/devices/c54e73c2-7fa7-4025-860c-c7596b921366/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2OH0.wlw_iNkZLrgww8jDASUKMfevr_p9yajyE0kec-5VKD4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"59d0b8b54946c4c5714f449aa28cb55c","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/dc7001ad-bcfc-42c3-be8f-8870e1b2e1bb"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":785,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:48Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":785,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.194351,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/dc7001ad-bcfc-42c3-be8f-8870e1b2e1bb","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/dc7001ad-bcfc-42c3-be8f-8870e1b2e1bb","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444068,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2OH0.wlw_iNkZLrgww8jDASUKMfevr_p9yajyE0kec-5VKD4"} 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":"59d0b8b54946c4c5714f449aa28cb55c"},"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/dc7001ad-bcfc-42c3-be8f-8870e1b2e1bb"} gateway-1 | {"time_local":"08/Jul/2024:13:07:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/dc7001ad-bcfc-42c3-be8f-8870e1b2e1bb 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":"59d0b8b54946c4c5714f449aa28cb55c"} experiment-1 | {"level":"info","message":"GET /experiments/dc7001ad-bcfc-42c3-be8f-8870e1b2e1bb 200 15ms","method":"GET","requestID":"59d0b8b54946c4c5714f449aa28cb55c","responseTime":15,"status":200,"url":"/experiments/dc7001ad-bcfc-42c3-be8f-8870e1b2e1bb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2OH0.wlw_iNkZLrgww8jDASUKMfevr_p9yajyE0kec-5VKD4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0cf39e099d5839ce67225a2887560741","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/dc7001ad-bcfc-42c3-be8f-8870e1b2e1bb"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":786,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:48Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":786,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.73197,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:48Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/dc7001ad-bcfc-42c3-be8f-8870e1b2e1bb","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/dc7001ad-bcfc-42c3-be8f-8870e1b2e1bb","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444068,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2OH0.wlw_iNkZLrgww8jDASUKMfevr_p9yajyE0kec-5VKD4"} 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":"0cf39e099d5839ce67225a2887560741"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc7001ad-bcfc-42c3-be8f-8870e1b2e1bb"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":787,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:48Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":787,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.364302,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:48Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/7450c777-87eb-43d2-96fe-29bddeb1b209","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:http://localhost/peerconnections/7450c777-87eb-43d2-96fe-29bddeb1b209","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444068,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2OH0.wlw_iNkZLrgww8jDASUKMfevr_p9yajyE0kec-5VKD4"} 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":"135db0d0-3d2b-11ef-b23c-0125361f42d1"},"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/7450c777-87eb-43d2-96fe-29bddeb1b209' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/7450c777-87eb-43d2-96fe-29bddeb1b209' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"7450c777-87eb-43d2-96fe-29bddeb1b209","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7450c777-87eb-43d2-96fe-29bddeb1b209': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7450c777-87eb-43d2-96fe-29bddeb1b209","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"1d7530b4-9fbf-4883-8969-c224cb91bbe6","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444068.9845953} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"158b37da-02a6-4fb2-8111-af5f0983f2da","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444068.9853652} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"53e20293b7bfdbce9d8a54d2a706cf2a","responseTime":2,"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":"135db0d0-3d2b-11ef-b23c-0125361f42d1"},"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","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/bf4a46c8-deb1-4df9-995c-13bbd2503d39"},{"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/c54e73c2-7fa7-4025-860c-c7596b921366"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/7450c777-87eb-43d2-96fe-29bddeb1b209"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"71a1d5ab03e3999f4ffee7583aff1a0e","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/bf4a46c8-deb1-4df9-995c-13bbd2503d39"},{"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/c54e73c2-7fa7-4025-860c-c7596b921366"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/7450c777-87eb-43d2-96fe-29bddeb1b209"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"7450c777-87eb-43d2-96fe-29bddeb1b209","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/7450c777-87eb-43d2-96fe-29bddeb1b209 204 51ms","method":"DELETE","requestID":"135db0d0-3d2b-11ef-b23c-0125361f42d1","responseTime":51,"status":204,"url":"/peerconnections/7450c777-87eb-43d2-96fe-29bddeb1b209"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dc7001ad-bcfc-42c3-be8f-8870e1b2e1bb"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":788,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:49Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf4a46c8-deb1-4df9-995c-13bbd2503d39","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1b60f4e2-2bbd-4ec4-8d01-488bcdb6a7fb","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444069.040652} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":788,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.275996,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf4a46c8-deb1-4df9-995c-13bbd2503d39","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bf4a46c8-deb1-4df9-995c-13bbd2503d39","object_type":"device","rebac_allow":false,"scope_allow":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":"136970a0-3d2b-11ef-b23c-0125361f42d1"},"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":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdc7001ad-bcfc-42c3-be8f-8870e1b2e1bb': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdc7001ad-bcfc-42c3-be8f-8870e1b2e1bb","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"8363fe1f-7dfc-4d99-81f5-5dede80cdd93","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444069.0473733} device-1 | {"level":"info","message":"POST /devices/bf4a46c8-deb1-4df9-995c-13bbd2503d39/signaling 200 14ms","method":"POST","requestID":"136970a0-3d2b-11ef-b23c-0125361f42d1","responseTime":14,"status":200,"url":"/devices/bf4a46c8-deb1-4df9-995c-13bbd2503d39/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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f3863ee1-1af6-4d5d-a179-f64577f760e0","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444069.0481026} 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":"0cf39e099d5839ce67225a2887560741"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":789,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:49Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc54e73c2-7fa7-4025-860c-c7596b921366","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"469e64c9-307d-4c24-ae0e-a79b169cbad3","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444069.0594296} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":789,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.988619,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c54e73c2-7fa7-4025-860c-c7596b921366","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c54e73c2-7fa7-4025-860c-c7596b921366","object_type":"device","rebac_allow":false,"scope_allow":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":"136c08b0-3d2b-11ef-b23c-0125361f42d1"},"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/c54e73c2-7fa7-4025-860c-c7596b921366/signaling 200 15ms","method":"POST","requestID":"136c08b0-3d2b-11ef-b23c-0125361f42d1","responseTime":15,"status":200,"url":"/devices/c54e73c2-7fa7-4025-860c-c7596b921366/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/dc7001ad-bcfc-42c3-be8f-8870e1b2e1bb"} gateway-1 | {"time_local":"08/Jul/2024:13:07:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/dc7001ad-bcfc-42c3-be8f-8870e1b2e1bb HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.184","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0cf39e099d5839ce67225a2887560741"} gateway-1 | {"time_local":"08/Jul/2024:13:07:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2707","request_time":"2.674","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"9db7f6c8dc579f64ce551877c23d0376"} gateway-1 | {"time_local":"08/Jul/2024:13:07:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2709","request_time":"2.667","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"16b25f46b8b301d1fb979457ea54009e"} experiment-1 | {"level":"info","message":"DELETE /experiments/dc7001ad-bcfc-42c3-be8f-8870e1b2e1bb 204 180ms","method":"DELETE","requestID":"0cf39e099d5839ce67225a2887560741","responseTime":180,"status":204,"url":"/experiments/dc7001ad-bcfc-42c3-be8f-8870e1b2e1bb"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 135ms","method":"POST","requestID":"53e20293b7bfdbce9d8a54d2a706cf2a","responseTime":135,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.141","http_referrer":"","http_user_agent":"node-fetch","requestID":"53e20293b7bfdbce9d8a54d2a706cf2a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 135ms","method":"POST","requestID":"71a1d5ab03e3999f4ffee7583aff1a0e","responseTime":135,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.141","http_referrer":"","http_user_agent":"node-fetch","requestID":"71a1d5ab03e3999f4ffee7583aff1a0e"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/bf4a46c8-deb1-4df9-995c-13bbd2503d39' closed"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2OX0.p5_cUaiEjqnPtgA1QQtUHK36PkYQ_Caa7KnLlU1HUr0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"262de1f71ff61d9b453388a4289d60f2","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":790,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:49Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":790,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.154798,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:49Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444069,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2OX0.p5_cUaiEjqnPtgA1QQtUHK36PkYQ_Caa7KnLlU1HUr0"} 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":"262de1f71ff61d9b453388a4289d60f2"},"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/c54e73c2-7fa7-4025-860c-c7596b921366' 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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e10b3d-c087-4ead-9db2-c277ec43793b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8dfc9b74-2650-461e-903b-bcd813ce1f33","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444069.1510344} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"262de1f71ff61d9b453388a4289d60f2"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f292c930-f150-450a-a1ec-b8b82954a334","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444069.157819} 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":"262de1f71ff61d9b453388a4289d60f2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e10b3d-c087-4ead-9db2-c277ec43793b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"272d776c-5580-4d41-9a61-0135c4c92730","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444069.1692238} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"569451b4-6d79-49d5-9b3a-8ffa8b781ac4","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444069.1693845} 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":"262de1f71ff61d9b453388a4289d60f2"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e10b3d-c087-4ead-9db2-c277ec43793b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e10b3d-c087-4ead-9db2-c277ec43793b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:49.169181128Z"}]},"request_id":"d788ab4b-044d-40af-ace5-1681ec74adac","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444069.174779} 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":"262de1f71ff61d9b453388a4289d60f2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:07:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"262de1f71ff61d9b453388a4289d60f2"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"262de1f71ff61d9b453388a4289d60f2","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2OX0.p5_cUaiEjqnPtgA1QQtUHK36PkYQ_Caa7KnLlU1HUr0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e0cdb1284ea4cfead07ce0c7eeb50ac5","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":791,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:49Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":791,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.895559,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:49Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444069,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA2OX0.p5_cUaiEjqnPtgA1QQtUHK36PkYQ_Caa7KnLlU1HUr0"} 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":"e0cdb1284ea4cfead07ce0c7eeb50ac5"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F337d000b-3ae6-462b-85e9-8bd43e74f055","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"54581e61-8cda-4300-841d-d35606addfbc","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444069.2000642} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e0cdb1284ea4cfead07ce0c7eeb50ac5"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b2661ad7-45f2-4f81-a547-e505202a370b","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444069.2051835} 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":"e0cdb1284ea4cfead07ce0c7eeb50ac5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F337d000b-3ae6-462b-85e9-8bd43e74f055","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"8a51f071-602d-42c8-962b-73e6af342f97","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444069.2220528} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d6a88045-51a8-4124-9fa8-daf51c755fd2","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444069.2222857} 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":"e0cdb1284ea4cfead07ce0c7eeb50ac5"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F337d000b-3ae6-462b-85e9-8bd43e74f055","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F337d000b-3ae6-462b-85e9-8bd43e74f055","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:49.222017096Z"}]},"request_id":"a9515cd5-fbd1-4073-8c29-86824e416179","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444069.227393} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e0cdb1284ea4cfead07ce0c7eeb50ac5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:07:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e0cdb1284ea4cfead07ce0c7eeb50ac5"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"e0cdb1284ea4cfead07ce0c7eeb50ac5","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d74afa01bdebdeb0719096e70c38fc43","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:07:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/337d000b-3ae6-462b-85e9-8bd43e74f055/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":"d74afa01bdebdeb0719096e70c38fc43"} device-1 | {"level":"info","message":"OPTIONS /devices/337d000b-3ae6-462b-85e9-8bd43e74f055/websocket 200 1ms","method":"OPTIONS","requestID":"d74afa01bdebdeb0719096e70c38fc43","responseTime":1,"status":200,"url":"/devices/337d000b-3ae6-462b-85e9-8bd43e74f055/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3MX0.AZgSfS_iLn6gQwzszsAkv4JgY3W1_7Pejgncl4mkkTA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5d624f110292611684b48c98e20003d3","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":792,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":792,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.167787,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/337d000b-3ae6-462b-85e9-8bd43e74f055","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/337d000b-3ae6-462b-85e9-8bd43e74f055","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444071,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3MX0.AZgSfS_iLn6gQwzszsAkv4JgY3W1_7Pejgncl4mkkTA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5d624f110292611684b48c98e20003d3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"46efe5c32f6b6408777ec4a2b493a87d","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:07:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/337d000b-3ae6-462b-85e9-8bd43e74f055/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.027","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5d624f110292611684b48c98e20003d3"} device-1 | {"level":"info","message":"POST /devices/337d000b-3ae6-462b-85e9-8bd43e74f055/websocket 200 21ms","method":"POST","requestID":"5d624f110292611684b48c98e20003d3","responseTime":21,"status":200,"url":"/devices/337d000b-3ae6-462b-85e9-8bd43e74f055/websocket"} gateway-1 | {"time_local":"08/Jul/2024:13:07:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/87e10b3d-c087-4ead-9db2-c277ec43793b/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":"46efe5c32f6b6408777ec4a2b493a87d"} device-1 | {"level":"info","message":"OPTIONS /devices/87e10b3d-c087-4ead-9db2-c277ec43793b/websocket 200 1ms","method":"OPTIONS","requestID":"46efe5c32f6b6408777ec4a2b493a87d","responseTime":1,"status":200,"url":"/devices/87e10b3d-c087-4ead-9db2-c277ec43793b/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3MX0.AZgSfS_iLn6gQwzszsAkv4JgY3W1_7Pejgncl4mkkTA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"91d942a16c3e4f381992db12fb09390c","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":793,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":793,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.153514,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/87e10b3d-c087-4ead-9db2-c277ec43793b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/87e10b3d-c087-4ead-9db2-c277ec43793b","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444071,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3MX0.AZgSfS_iLn6gQwzszsAkv4JgY3W1_7Pejgncl4mkkTA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"91d942a16c3e4f381992db12fb09390c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"device 'http://localhost/devices/337d000b-3ae6-462b-85e9-8bd43e74f055' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:07:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/87e10b3d-c087-4ead-9db2-c277ec43793b/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":"91d942a16c3e4f381992db12fb09390c"} device-1 | {"level":"info","message":"POST /devices/87e10b3d-c087-4ead-9db2-c277ec43793b/websocket 200 25ms","method":"POST","requestID":"91d942a16c3e4f381992db12fb09390c","responseTime":25,"status":200,"url":"/devices/87e10b3d-c087-4ead-9db2-c277ec43793b/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/87e10b3d-c087-4ead-9db2-c277ec43793b' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3MX0.AZgSfS_iLn6gQwzszsAkv4JgY3W1_7Pejgncl4mkkTA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"ea20870031e4c5dbc40604ad1ee6ac90","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":794,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":794,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.696873,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/87e10b3d-c087-4ead-9db2-c277ec43793b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/87e10b3d-c087-4ead-9db2-c277ec43793b","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444071,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3MX0.AZgSfS_iLn6gQwzszsAkv4JgY3W1_7Pejgncl4mkkTA"} 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":"ea20870031e4c5dbc40604ad1ee6ac90"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e10b3d-c087-4ead-9db2-c277ec43793b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e10b3d-c087-4ead-9db2-c277ec43793b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:49.169181128Z"}]},"request_id":"a8630d1f-6cb7-49ec-8218-1257726166b2","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444071.257317} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ea20870031e4c5dbc40604ad1ee6ac90"},"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":"08/Jul/2024:13:07:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/87e10b3d-c087-4ead-9db2-c277ec43793b? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ea20870031e4c5dbc40604ad1ee6ac90"} device-1 | {"level":"info","message":"GET /devices/87e10b3d-c087-4ead-9db2-c277ec43793b? 200 14ms","method":"GET","requestID":"ea20870031e4c5dbc40604ad1ee6ac90","responseTime":14,"status":200,"url":"/devices/87e10b3d-c087-4ead-9db2-c277ec43793b?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3MX0.AZgSfS_iLn6gQwzszsAkv4JgY3W1_7Pejgncl4mkkTA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"88fb5e04ea6b6cf5222918d4fcfd4d70","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":795,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":795,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.119201,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/337d000b-3ae6-462b-85e9-8bd43e74f055","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/337d000b-3ae6-462b-85e9-8bd43e74f055","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444071,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3MX0.AZgSfS_iLn6gQwzszsAkv4JgY3W1_7Pejgncl4mkkTA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"88fb5e04ea6b6cf5222918d4fcfd4d70"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F337d000b-3ae6-462b-85e9-8bd43e74f055","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F337d000b-3ae6-462b-85e9-8bd43e74f055","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:49.222017096Z"}]},"request_id":"652de6ad-3685-4122-91f0-99ce41da3290","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444071.278184} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"88fb5e04ea6b6cf5222918d4fcfd4d70"},"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":"08/Jul/2024:13:07:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/337d000b-3ae6-462b-85e9-8bd43e74f055? 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":"88fb5e04ea6b6cf5222918d4fcfd4d70"} device-1 | {"level":"info","message":"GET /devices/337d000b-3ae6-462b-85e9-8bd43e74f055? 200 14ms","method":"GET","requestID":"88fb5e04ea6b6cf5222918d4fcfd4d70","responseTime":14,"status":200,"url":"/devices/337d000b-3ae6-462b-85e9-8bd43e74f055?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3MX0.AZgSfS_iLn6gQwzszsAkv4JgY3W1_7Pejgncl4mkkTA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"75b69caa460aa8aad417205a130c09b9","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:58600","level":"info","msg":"Received request.","req_id":796,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":796,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.066202,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444071,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3MX0.AZgSfS_iLn6gQwzszsAkv4JgY3W1_7Pejgncl4mkkTA"} 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":"75b69caa460aa8aad417205a130c09b9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f7858dc4-11b3-4ee0-8150-637ec8a779bd"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f7858dc4-11b3-4ee0-8150-637ec8a779bd"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f7858dc4-11b3-4ee0-8150-637ec8a779bd"},"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:58600","level":"info","msg":"Received request.","req_id":797,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":797,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.27428,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/87e10b3d-c087-4ead-9db2-c277ec43793b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/87e10b3d-c087-4ead-9db2-c277ec43793b","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444071,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3MX0.AZgSfS_iLn6gQwzszsAkv4JgY3W1_7Pejgncl4mkkTA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"14c72be0-3d2b-11ef-b23c-0125361f42d1"},"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":798,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":798,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.707957,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/337d000b-3ae6-462b-85e9-8bd43e74f055","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/337d000b-3ae6-462b-85e9-8bd43e74f055","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444071,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3MX0.AZgSfS_iLn6gQwzszsAkv4JgY3W1_7Pejgncl4mkkTA"} 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":"14c77a00-3d2b-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e10b3d-c087-4ead-9db2-c277ec43793b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e10b3d-c087-4ead-9db2-c277ec43793b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:49.169181128Z"}]},"request_id":"d9cb11c4-0c95-429d-9f1e-c6723f34de94","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444071.3376946} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"14c72be0-3d2b-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F337d000b-3ae6-462b-85e9-8bd43e74f055","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F337d000b-3ae6-462b-85e9-8bd43e74f055","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:49.222017096Z"}]},"request_id":"b4291ef3-6e13-45f7-b33d-69d7d0bdff86","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444071.3427613} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/87e10b3d-c087-4ead-9db2-c277ec43793b? 200 18ms","method":"GET","requestID":"14c72be0-3d2b-11ef-b23c-0125361f42d1","responseTime":18,"status":200,"url":"/devices/87e10b3d-c087-4ead-9db2-c277ec43793b?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"14c77a00-3d2b-11ef-b23c-0125361f42d1"},"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/337d000b-3ae6-462b-85e9-8bd43e74f055? 200 20ms","method":"GET","requestID":"14c77a00-3d2b-11ef-b23c-0125361f42d1","responseTime":20,"status":200,"url":"/devices/337d000b-3ae6-462b-85e9-8bd43e74f055?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f7858dc4-11b3-4ee0-8150-637ec8a779bd"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f7858dc4-11b3-4ee0-8150-637ec8a779bd"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f7858dc4-11b3-4ee0-8150-637ec8a779bd"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f7858dc4-11b3-4ee0-8150-637ec8a779bd"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f7858dc4-11b3-4ee0-8150-637ec8a779bd"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f7858dc4-11b3-4ee0-8150-637ec8a779bd"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f7858dc4-11b3-4ee0-8150-637ec8a779bd"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f7858dc4-11b3-4ee0-8150-637ec8a779bd"},"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/f7858dc4-11b3-4ee0-8150-637ec8a779bd"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":799,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":799,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.872953,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":800,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/87e10b3d-c087-4ead-9db2-c277ec43793b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/87e10b3d-c087-4ead-9db2-c277ec43793b","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444071,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3MX0.AZgSfS_iLn6gQwzszsAkv4JgY3W1_7Pejgncl4mkkTA"} 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":"14d07ab0-3d2b-11ef-b23c-0125361f42d1"},"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":800,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.802294,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/337d000b-3ae6-462b-85e9-8bd43e74f055","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/337d000b-3ae6-462b-85e9-8bd43e74f055","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444071,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3MX0.AZgSfS_iLn6gQwzszsAkv4JgY3W1_7Pejgncl4mkkTA"} 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":"14d0c8d0-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"client_addr":"127.0.0.1:57316","level":"info","msg":"Received request.","req_id":801,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e10b3d-c087-4ead-9db2-c277ec43793b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e10b3d-c087-4ead-9db2-c277ec43793b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:49.169181128Z"}]},"request_id":"554ee251-4ca1-4077-8deb-ef342a91a1b8","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444071.406608} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e10b3d-c087-4ead-9db2-c277ec43793b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b778bfe9-6ca7-4e56-8f25-c52bf3d40154","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444071.4073555} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"14d07ab0-3d2b-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F337d000b-3ae6-462b-85e9-8bd43e74f055","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F337d000b-3ae6-462b-85e9-8bd43e74f055","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:49.222017096Z"}]},"request_id":"64fbce75-ffa5-4b4f-999a-c7871af09354","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444071.4082327} authorization-1 | {"client_addr":"127.0.0.1:57316","level":"info","msg":"Sent response.","req_id":801,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.189207,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/87e10b3d-c087-4ead-9db2-c277ec43793b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/87e10b3d-c087-4ead-9db2-c277ec43793b","object_type":"device","rebac_allow":false,"scope_allow":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":"14d116f0-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":17}} 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":"14d0c8d0-3d2b-11ef-b23c-0125361f42d1"},"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/87e10b3d-c087-4ead-9db2-c277ec43793b? 200 26ms","method":"GET","requestID":"14d07ab0-3d2b-11ef-b23c-0125361f42d1","responseTime":26,"status":200,"url":"/devices/87e10b3d-c087-4ead-9db2-c277ec43793b?"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff7858dc4-11b3-4ee0-8150-637ec8a779bd#owner@http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff7858dc4-11b3-4ee0-8150-637ec8a779bd","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"f0d44a58-f3fe-46a7-b8f2-29856f73d936","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444071.4142656} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8b08a589-c9e7-4a8f-8925-33314497410c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444071.414414} 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":"75b69caa460aa8aad417205a130c09b9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/87e10b3d-c087-4ead-9db2-c277ec43793b/signaling 200 25ms","method":"POST","requestID":"14d116f0-3d2b-11ef-b23c-0125361f42d1","responseTime":25,"status":200,"url":"/devices/87e10b3d-c087-4ead-9db2-c277ec43793b/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/337d000b-3ae6-462b-85e9-8bd43e74f055? 200 28ms","method":"GET","requestID":"14d0c8d0-3d2b-11ef-b23c-0125361f42d1","responseTime":28,"status":200,"url":"/devices/337d000b-3ae6-462b-85e9-8bd43e74f055?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":802,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":803,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:51Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/f7858dc4-11b3-4ee0-8150-637ec8a779bd","user":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"08/Jul/2024:13:07:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.140","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"75b69caa460aa8aad417205a130c09b9"} experiment-1 | {"level":"info","message":"POST /experiments? 201 134ms","method":"POST","requestID":"75b69caa460aa8aad417205a130c09b9","responseTime":134,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F337d000b-3ae6-462b-85e9-8bd43e74f055","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ee459a76-bbca-4318-b450-6838f1b5e24d","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444071.4254956} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":802,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.625146,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/337d000b-3ae6-462b-85e9-8bd43e74f055","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/337d000b-3ae6-462b-85e9-8bd43e74f055","object_type":"device","rebac_allow":false,"scope_allow":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":"14d583c0-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e10b3d-c087-4ead-9db2-c277ec43793b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"05ddb1ed-1520-4c0f-a962-b4f36927d32a","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444071.4265344} authorization-1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":803,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.705142,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/87e10b3d-c087-4ead-9db2-c277ec43793b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/87e10b3d-c087-4ead-9db2-c277ec43793b","object_type":"device","rebac_allow":false,"scope_allow":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":"14d5aad0-3d2b-11ef-b23c-0125361f42d1"},"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/337d000b-3ae6-462b-85e9-8bd43e74f055/signaling 200 10ms","method":"POST","requestID":"14d583c0-3d2b-11ef-b23c-0125361f42d1","responseTime":10,"status":200,"url":"/devices/337d000b-3ae6-462b-85e9-8bd43e74f055/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3MX0.AZgSfS_iLn6gQwzszsAkv4JgY3W1_7Pejgncl4mkkTA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4400c1eac8f4cfeb9498c099d7d0d6a8","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/87e10b3d-c087-4ead-9db2-c277ec43793b/signaling 200 11ms","method":"POST","requestID":"14d5aad0-3d2b-11ef-b23c-0125361f42d1","responseTime":11,"status":200,"url":"/devices/87e10b3d-c087-4ead-9db2-c277ec43793b/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":804,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":804,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.679132,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":805,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/87e10b3d-c087-4ead-9db2-c277ec43793b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/87e10b3d-c087-4ead-9db2-c277ec43793b","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444071,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3MX0.AZgSfS_iLn6gQwzszsAkv4JgY3W1_7Pejgncl4mkkTA"} 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":"4400c1eac8f4cfeb9498c099d7d0d6a8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F337d000b-3ae6-462b-85e9-8bd43e74f055","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aa363f2c-23f9-4f08-9ece-9ebbfa98efc1","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444071.4373617} authorization-1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":805,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.426391,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/337d000b-3ae6-462b-85e9-8bd43e74f055","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/337d000b-3ae6-462b-85e9-8bd43e74f055","object_type":"device","rebac_allow":false,"scope_allow":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":"14d77f90-3d2b-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e10b3d-c087-4ead-9db2-c277ec43793b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e10b3d-c087-4ead-9db2-c277ec43793b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:49.169181128Z"}]},"request_id":"3ff5e645-5abe-4ba1-a9c9-e7cfbb98d114","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444071.4394357} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4400c1eac8f4cfeb9498c099d7d0d6a8"},"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/337d000b-3ae6-462b-85e9-8bd43e74f055/signaling 200 10ms","method":"POST","requestID":"14d77f90-3d2b-11ef-b23c-0125361f42d1","responseTime":10,"status":200,"url":"/devices/337d000b-3ae6-462b-85e9-8bd43e74f055/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:07:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/87e10b3d-c087-4ead-9db2-c277ec43793b? 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":"4400c1eac8f4cfeb9498c099d7d0d6a8"} device-1 | {"level":"info","message":"GET /devices/87e10b3d-c087-4ead-9db2-c277ec43793b? 200 12ms","method":"GET","requestID":"4400c1eac8f4cfeb9498c099d7d0d6a8","responseTime":12,"status":200,"url":"/devices/87e10b3d-c087-4ead-9db2-c277ec43793b?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f7858dc4-11b3-4ee0-8150-637ec8a779bd"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f7858dc4-11b3-4ee0-8150-637ec8a779bd"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"e49e030a-0e85-4790-ad72-e9f42402e084"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"138cb113-0498-44fb-8b96-1648a2f1ac5c"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"f64576fb-0822-4b8f-86ac-2fc19cc4f0c8"}]},"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/337d000b-3ae6-462b-85e9-8bd43e74f055"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/87e10b3d-c087-4ead-9db2-c277ec43793b"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":806,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":806,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.755285,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:51Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3MX0.AZgSfS_iLn6gQwzszsAkv4JgY3W1_7Pejgncl4mkkTA","level":"info","message":"auth send jwt"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444071,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3MX0.AZgSfS_iLn6gQwzszsAkv4JgY3W1_7Pejgncl4mkkTA"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7bf57af58dff72b983aac2e7fddaed10","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":"14d97b60-3d2b-11ef-b23c-0125361f42d1"},"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:58600","level":"info","msg":"Received request.","req_id":807,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":807,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.9783,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/337d000b-3ae6-462b-85e9-8bd43e74f055","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/337d000b-3ae6-462b-85e9-8bd43e74f055","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444071,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3MX0.AZgSfS_iLn6gQwzszsAkv4JgY3W1_7Pejgncl4mkkTA"} 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":"7bf57af58dff72b983aac2e7fddaed10"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F337d000b-3ae6-462b-85e9-8bd43e74f055","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F337d000b-3ae6-462b-85e9-8bd43e74f055","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:49.222017096Z"}]},"request_id":"43aea0ee-eda9-46b9-a6cb-7c624f7535b6","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444071.4593089} 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":"7bf57af58dff72b983aac2e7fddaed10"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","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%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"75601800-d230-49e4-a187-77e53ae42240","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444071.4605656} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cf5ea0ac-76b0-455a-8dd5-16956d9ba0fc","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444071.4609287} 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":"14d97b60-3d2b-11ef-b23c-0125361f42d1"},"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":"08/Jul/2024:13:07:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/337d000b-3ae6-462b-85e9-8bd43e74f055? 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":"7bf57af58dff72b983aac2e7fddaed10"} device-1 | {"level":"info","message":"GET /devices/337d000b-3ae6-462b-85e9-8bd43e74f055? 200 12ms","method":"GET","requestID":"7bf57af58dff72b983aac2e7fddaed10","responseTime":12,"status":200,"url":"/devices/337d000b-3ae6-462b-85e9-8bd43e74f055?"} 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/a7f37fe4-753a-46be-a2db-b1fddea022a4'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/a7f37fe4-753a-46be-a2db-b1fddea022a4'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 28ms","method":"POST","requestID":"14d97b60-3d2b-11ef-b23c-0125361f42d1","responseTime":28,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f7858dc4-11b3-4ee0-8150-637ec8a779bd"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":808,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e10b3d-c087-4ead-9db2-c277ec43793b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e48e1da1-35e0-4083-a5ad-df3f87743b5b","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444071.5027506} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":808,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.832768,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/87e10b3d-c087-4ead-9db2-c277ec43793b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/87e10b3d-c087-4ead-9db2-c277ec43793b","object_type":"device","rebac_allow":false,"scope_allow":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":"14e16aa0-3d2b-11ef-b23c-0125361f42d1"},"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/87e10b3d-c087-4ead-9db2-c277ec43793b/signaling 200 9ms","method":"POST","requestID":"14e16aa0-3d2b-11ef-b23c-0125361f42d1","responseTime":9,"status":200,"url":"/devices/87e10b3d-c087-4ead-9db2-c277ec43793b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":809,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F337d000b-3ae6-462b-85e9-8bd43e74f055","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8e92e8a2-9314-42d5-99b3-4103b2a5571f","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444071.5132685} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":809,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.940592,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/337d000b-3ae6-462b-85e9-8bd43e74f055","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/337d000b-3ae6-462b-85e9-8bd43e74f055","object_type":"device","rebac_allow":false,"scope_allow":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":"14e2f140-3d2b-11ef-b23c-0125361f42d1"},"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/337d000b-3ae6-462b-85e9-8bd43e74f055/signaling 200 9ms","method":"POST","requestID":"14e2f140-3d2b-11ef-b23c-0125361f42d1","responseTime":9,"status":200,"url":"/devices/337d000b-3ae6-462b-85e9-8bd43e74f055/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/337d000b-3ae6-462b-85e9-8bd43e74f055'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/337d000b-3ae6-462b-85e9-8bd43e74f055'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/87e10b3d-c087-4ead-9db2-c277ec43793b'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/a7f37fe4-753a-46be-a2db-b1fddea022a4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a7f37fe4-753a-46be-a2db-b1fddea022a4","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":"f4ae31236b457ae9e8b084586487dd26","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/337d000b-3ae6-462b-85e9-8bd43e74f055"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/87e10b3d-c087-4ead-9db2-c277ec43793b"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/a7f37fe4-753a-46be-a2db-b1fddea022a4"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"f4ae31236b457ae9e8b084586487dd26","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07: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.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"f4ae31236b457ae9e8b084586487dd26"} device-1 | {"data":{"peerconnection":"a7f37fe4-753a-46be-a2db-b1fddea022a4","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"a7f37fe4-753a-46be-a2db-b1fddea022a4","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/a7f37fe4-753a-46be-a2db-b1fddea022a4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a7f37fe4-753a-46be-a2db-b1fddea022a4","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":"4c2f2dfe822d2b433c5f9374a4bf34ca","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/337d000b-3ae6-462b-85e9-8bd43e74f055"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/87e10b3d-c087-4ead-9db2-c277ec43793b"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/a7f37fe4-753a-46be-a2db-b1fddea022a4"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":810,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa7f37fe4-753a-46be-a2db-b1fddea022a4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7178a5d6-b1a9-452a-876d-20365acf16cf","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444071.5974996} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":810,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.104071,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a7f37fe4-753a-46be-a2db-b1fddea022a4","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/a7f37fe4-753a-46be-a2db-b1fddea022a4","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":"14efe990-3d2b-11ef-b23c-0125361f42d1"},"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/a7f37fe4-753a-46be-a2db-b1fddea022a4 200 7ms","method":"GET","requestID":"14efe990-3d2b-11ef-b23c-0125361f42d1","responseTime":7,"status":200,"url":"/peerconnections/a7f37fe4-753a-46be-a2db-b1fddea022a4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 24ms","method":"POST","requestID":"4c2f2dfe822d2b433c5f9374a4bf34ca","responseTime":24,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07: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.027","http_referrer":"","http_user_agent":"node-fetch","requestID":"4c2f2dfe822d2b433c5f9374a4bf34ca"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":811,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F337d000b-3ae6-462b-85e9-8bd43e74f055","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e0808e87-ee8e-4c00-8058-b85cdddd8178","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444071.6177874} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":811,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.162296,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/337d000b-3ae6-462b-85e9-8bd43e74f055","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/337d000b-3ae6-462b-85e9-8bd43e74f055","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"14f31de0-3d2b-11ef-b23c-0125361f42d1"},"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/337d000b-3ae6-462b-85e9-8bd43e74f055/signaling 200 7ms","method":"POST","requestID":"14f31de0-3d2b-11ef-b23c-0125361f42d1","responseTime":7,"status":200,"url":"/devices/337d000b-3ae6-462b-85e9-8bd43e74f055/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":812,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e10b3d-c087-4ead-9db2-c277ec43793b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"db17c2bc-5c77-480b-9aac-831f9f35c279","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444071.626628} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":812,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.205474,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/87e10b3d-c087-4ead-9db2-c277ec43793b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/87e10b3d-c087-4ead-9db2-c277ec43793b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"14f47d70-3d2b-11ef-b23c-0125361f42d1"},"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/87e10b3d-c087-4ead-9db2-c277ec43793b/signaling 200 7ms","method":"POST","requestID":"14f47d70-3d2b-11ef-b23c-0125361f42d1","responseTime":7,"status":200,"url":"/devices/87e10b3d-c087-4ead-9db2-c277ec43793b/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3MX0.AZgSfS_iLn6gQwzszsAkv4JgY3W1_7Pejgncl4mkkTA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a982b567f603547b0a3d7685ddb3d067","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/f7858dc4-11b3-4ee0-8150-637ec8a779bd"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":813,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":813,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.073969,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f7858dc4-11b3-4ee0-8150-637ec8a779bd","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/f7858dc4-11b3-4ee0-8150-637ec8a779bd","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444071,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3MX0.AZgSfS_iLn6gQwzszsAkv4JgY3W1_7Pejgncl4mkkTA"} 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":"a982b567f603547b0a3d7685ddb3d067"},"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/f7858dc4-11b3-4ee0-8150-637ec8a779bd"} gateway-1 | {"time_local":"08/Jul/2024:13:07:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/f7858dc4-11b3-4ee0-8150-637ec8a779bd HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a982b567f603547b0a3d7685ddb3d067"} experiment-1 | {"level":"info","message":"GET /experiments/f7858dc4-11b3-4ee0-8150-637ec8a779bd 200 10ms","method":"GET","requestID":"a982b567f603547b0a3d7685ddb3d067","responseTime":10,"status":200,"url":"/experiments/f7858dc4-11b3-4ee0-8150-637ec8a779bd"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3MX0.AZgSfS_iLn6gQwzszsAkv4JgY3W1_7Pejgncl4mkkTA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"25c0d6ea0c6d1ed4e5d8b6e3d29cebb7","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/f7858dc4-11b3-4ee0-8150-637ec8a779bd"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":814,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":814,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.038969,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f7858dc4-11b3-4ee0-8150-637ec8a779bd","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/f7858dc4-11b3-4ee0-8150-637ec8a779bd","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444071,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3MX0.AZgSfS_iLn6gQwzszsAkv4JgY3W1_7Pejgncl4mkkTA"} 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":"25c0d6ea0c6d1ed4e5d8b6e3d29cebb7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f7858dc4-11b3-4ee0-8150-637ec8a779bd"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":815,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":815,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.762242,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a7f37fe4-753a-46be-a2db-b1fddea022a4","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:http://localhost/peerconnections/a7f37fe4-753a-46be-a2db-b1fddea022a4","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444071,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3MX0.AZgSfS_iLn6gQwzszsAkv4JgY3W1_7Pejgncl4mkkTA"} 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":"14ffa100-3d2b-11ef-b23c-0125361f42d1"},"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/a7f37fe4-753a-46be-a2db-b1fddea022a4' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/a7f37fe4-753a-46be-a2db-b1fddea022a4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a7f37fe4-753a-46be-a2db-b1fddea022a4","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa7f37fe4-753a-46be-a2db-b1fddea022a4': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa7f37fe4-753a-46be-a2db-b1fddea022a4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"85c2f680-5ab5-42c5-8d92-7cc5346cbe02","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444071.7096212} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5890ef1a-a3ec-4055-87b7-e543ca276f14","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444071.7099621} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c10bfa58b8f132434d8ef4f26866521e","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/337d000b-3ae6-462b-85e9-8bd43e74f055"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/87e10b3d-c087-4ead-9db2-c277ec43793b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a7f37fe4-753a-46be-a2db-b1fddea022a4"}}},"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 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":"14ffa100-3d2b-11ef-b23c-0125361f42d1"},"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":"c165ad9a6788f0e3635f3cb05b4cf725","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/337d000b-3ae6-462b-85e9-8bd43e74f055"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/87e10b3d-c087-4ead-9db2-c277ec43793b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a7f37fe4-753a-46be-a2db-b1fddea022a4"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"a7f37fe4-753a-46be-a2db-b1fddea022a4","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/a7f37fe4-753a-46be-a2db-b1fddea022a4 204 34ms","method":"DELETE","requestID":"14ffa100-3d2b-11ef-b23c-0125361f42d1","responseTime":34,"status":204,"url":"/peerconnections/a7f37fe4-753a-46be-a2db-b1fddea022a4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f7858dc4-11b3-4ee0-8150-637ec8a779bd"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":816,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F337d000b-3ae6-462b-85e9-8bd43e74f055","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"287d109f-a820-449f-a039-b1f5e5a65644","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444071.7578003} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":816,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.241015,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/337d000b-3ae6-462b-85e9-8bd43e74f055","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/337d000b-3ae6-462b-85e9-8bd43e74f055","object_type":"device","rebac_allow":false,"scope_allow":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":"15080570-3d2b-11ef-b23c-0125361f42d1"},"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/337d000b-3ae6-462b-85e9-8bd43e74f055/signaling 200 10ms","method":"POST","requestID":"15080570-3d2b-11ef-b23c-0125361f42d1","responseTime":10,"status":200,"url":"/devices/337d000b-3ae6-462b-85e9-8bd43e74f055/signaling"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff7858dc4-11b3-4ee0-8150-637ec8a779bd': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff7858dc4-11b3-4ee0-8150-637ec8a779bd","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"b2084273-5500-43bc-8d06-78bdba1fc7ca","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444071.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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"24e52cef-420e-4ebb-9b9d-2826cb9ce42b","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444071.7625363} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"25c0d6ea0c6d1ed4e5d8b6e3d29cebb7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":817,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e10b3d-c087-4ead-9db2-c277ec43793b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"794fcaa0-c6ba-49a8-8f46-ce539137d3b4","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444071.768244} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":817,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.446948,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/87e10b3d-c087-4ead-9db2-c277ec43793b","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/87e10b3d-c087-4ead-9db2-c277ec43793b","object_type":"device","rebac_allow":false,"scope_allow":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":"150a0140-3d2b-11ef-b23c-0125361f42d1"},"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/87e10b3d-c087-4ead-9db2-c277ec43793b/signaling 200 10ms","method":"POST","requestID":"150a0140-3d2b-11ef-b23c-0125361f42d1","responseTime":10,"status":200,"url":"/devices/87e10b3d-c087-4ead-9db2-c277ec43793b/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/f7858dc4-11b3-4ee0-8150-637ec8a779bd"} gateway-1 | {"time_local":"08/Jul/2024:13:07:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/f7858dc4-11b3-4ee0-8150-637ec8a779bd HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.147","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"25c0d6ea0c6d1ed4e5d8b6e3d29cebb7"} experiment-1 | {"level":"info","message":"DELETE /experiments/f7858dc4-11b3-4ee0-8150-637ec8a779bd 204 144ms","method":"DELETE","requestID":"25c0d6ea0c6d1ed4e5d8b6e3d29cebb7","responseTime":144,"status":204,"url":"/experiments/f7858dc4-11b3-4ee0-8150-637ec8a779bd"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 123ms","method":"POST","requestID":"c10bfa58b8f132434d8ef4f26866521e","responseTime":123,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07: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.126","http_referrer":"","http_user_agent":"node-fetch","requestID":"c10bfa58b8f132434d8ef4f26866521e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 123ms","method":"POST","requestID":"c165ad9a6788f0e3635f3cb05b4cf725","responseTime":123,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07: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.127","http_referrer":"","http_user_agent":"node-fetch","requestID":"c165ad9a6788f0e3635f3cb05b4cf725"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3MX0.AZgSfS_iLn6gQwzszsAkv4JgY3W1_7Pejgncl4mkkTA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"fc49ce857c5f28ce1e901826291545b2","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"08/Jul/2024:13:07:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2644","request_time":"0.653","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c66fc35bcb4487a4f2e71421443dde8f"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":818,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":818,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.104275,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:51Z"} gateway-1 | {"time_local":"08/Jul/2024:13:07:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2646","request_time":"0.620","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"716c624a7d382ec85a59073eb3b1185e"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444071,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3MX0.AZgSfS_iLn6gQwzszsAkv4JgY3W1_7Pejgncl4mkkTA"} 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":"fc49ce857c5f28ce1e901826291545b2"},"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/87e10b3d-c087-4ead-9db2-c277ec43793b' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/337d000b-3ae6-462b-85e9-8bd43e74f055' 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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4063f9ad-e503-4bad-b9f2-de0ba414f8b2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b4e1af95-b976-487a-b146-f3ea125f968e","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444071.8645303} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fc49ce857c5f28ce1e901826291545b2"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1d9940df-01ff-419e-a74e-d0826fd04645","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444071.8693051} 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":"fc49ce857c5f28ce1e901826291545b2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4063f9ad-e503-4bad-b9f2-de0ba414f8b2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"e060387c-8b74-4a9e-b7e0-67f236f89b87","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444071.8801231} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"811a12f8-4caf-4402-93a5-63106311012f","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444071.8802383} 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":"fc49ce857c5f28ce1e901826291545b2"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4063f9ad-e503-4bad-b9f2-de0ba414f8b2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4063f9ad-e503-4bad-b9f2-de0ba414f8b2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:51.880088481Z"}]},"request_id":"0042e749-99bc-4bf8-91d6-2e41ee8c703a","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444071.8835058} 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":"fc49ce857c5f28ce1e901826291545b2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"fc49ce857c5f28ce1e901826291545b2","responseTime":45,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/Jul/2024:13:07:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"315","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fc49ce857c5f28ce1e901826291545b2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3MX0.AZgSfS_iLn6gQwzszsAkv4JgY3W1_7Pejgncl4mkkTA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4d0ddebb210025c1206998fb709779bd","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":819,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":819,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.876483,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:51Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444071,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3MX0.AZgSfS_iLn6gQwzszsAkv4JgY3W1_7Pejgncl4mkkTA"} 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":"4d0ddebb210025c1206998fb709779bd"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7bdd7b9-d973-4e89-896f-b4f364f11049","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"49a04a1a-6579-4853-93ca-93345f8a37e7","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444071.9068635} 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":"4d0ddebb210025c1206998fb709779bd"},"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:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e714361e-68a5-4afe-8cc6-72c5bff1fcb9","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444071.911353} 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":"4d0ddebb210025c1206998fb709779bd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7bdd7b9-d973-4e89-896f-b4f364f11049","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"98aec71e-18a9-4ec6-8a67-383fa3c48dbf","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444071.918815} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9633431d-d8e9-44cc-9091-1e99e1a0401e","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444071.919042} 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":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4d0ddebb210025c1206998fb709779bd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7bdd7b9-d973-4e89-896f-b4f364f11049","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7bdd7b9-d973-4e89-896f-b4f364f11049","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:51.918788014Z"}]},"request_id":"28b8cb9b-e9ad-4b26-9754-32e28dfc487f","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444071.9226627} 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":"4d0ddebb210025c1206998fb709779bd"},"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":"4d0ddebb210025c1206998fb709779bd","responseTime":34,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/Jul/2024:13:07: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.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4d0ddebb210025c1206998fb709779bd"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"66a2ca3564ecde008ff6ced50b010a8b","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:07:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/b7bdd7b9-d973-4e89-896f-b4f364f11049/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":"66a2ca3564ecde008ff6ced50b010a8b"} device-1 | {"level":"info","message":"OPTIONS /devices/b7bdd7b9-d973-4e89-896f-b4f364f11049/websocket 200 1ms","method":"OPTIONS","requestID":"66a2ca3564ecde008ff6ced50b010a8b","responseTime":1,"status":200,"url":"/devices/b7bdd7b9-d973-4e89-896f-b4f364f11049/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3M30.FIPOJL6FEvElXP0Pl4e_J-ktUIHM1Vt0y1mRL7_of30","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"33794ef84c6fafbd16f7f9195e1940e3","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":820,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:53Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":820,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.202763,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:53Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7bdd7b9-d973-4e89-896f-b4f364f11049","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/b7bdd7b9-d973-4e89-896f-b4f364f11049","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444073,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3M30.FIPOJL6FEvElXP0Pl4e_J-ktUIHM1Vt0y1mRL7_of30"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"33794ef84c6fafbd16f7f9195e1940e3"},"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":"08/Jul/2024:13:07:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b7bdd7b9-d973-4e89-896f-b4f364f11049/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":"33794ef84c6fafbd16f7f9195e1940e3"} device-1 | {"level":"info","message":"POST /devices/b7bdd7b9-d973-4e89-896f-b4f364f11049/websocket 200 24ms","method":"POST","requestID":"33794ef84c6fafbd16f7f9195e1940e3","responseTime":24,"status":200,"url":"/devices/b7bdd7b9-d973-4e89-896f-b4f364f11049/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b7bdd7b9-d973-4e89-896f-b4f364f11049' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3NH0.MWuzKSakl7jFrcasgTZ3QLVGkzE1AhdU1vMhYiQsYrI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"3dbd24b2456f58445a706a3290009764","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":821,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:54Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":821,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.805489,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7bdd7b9-d973-4e89-896f-b4f364f11049","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/b7bdd7b9-d973-4e89-896f-b4f364f11049","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444074,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3NH0.MWuzKSakl7jFrcasgTZ3QLVGkzE1AhdU1vMhYiQsYrI"} 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":"3dbd24b2456f58445a706a3290009764"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7bdd7b9-d973-4e89-896f-b4f364f11049","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7bdd7b9-d973-4e89-896f-b4f364f11049","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:51.918788014Z"}]},"request_id":"f5af0bd5-b889-473c-a21a-288a42cf64e2","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444074.0239086} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3dbd24b2456f58445a706a3290009764"},"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":"08/Jul/2024:13:07:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b7bdd7b9-d973-4e89-896f-b4f364f11049? 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":"3dbd24b2456f58445a706a3290009764"} device-1 | {"level":"info","message":"GET /devices/b7bdd7b9-d973-4e89-896f-b4f364f11049? 200 18ms","method":"GET","requestID":"3dbd24b2456f58445a706a3290009764","responseTime":18,"status":200,"url":"/devices/b7bdd7b9-d973-4e89-896f-b4f364f11049?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3NH0.MWuzKSakl7jFrcasgTZ3QLVGkzE1AhdU1vMhYiQsYrI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"40d38a149863017ab586bbbd367bee19","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:58600","level":"info","msg":"Received request.","req_id":822,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:54Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":822,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.213706,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:54Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444074,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3NH0.MWuzKSakl7jFrcasgTZ3QLVGkzE1AhdU1vMhYiQsYrI"} 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":"40d38a149863017ab586bbbd367bee19"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5953845-328b-4f42-b6ef-4ec2910e0e7e"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5953845-328b-4f42-b6ef-4ec2910e0e7e"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5953845-328b-4f42-b6ef-4ec2910e0e7e"},"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:58600","level":"info","msg":"Received request.","req_id":823,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:54Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":823,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.202962,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4063f9ad-e503-4bad-b9f2-de0ba414f8b2","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/4063f9ad-e503-4bad-b9f2-de0ba414f8b2","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444074,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3NH0.MWuzKSakl7jFrcasgTZ3QLVGkzE1AhdU1vMhYiQsYrI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"166ac9c0-3d2b-11ef-b23c-0125361f42d1"},"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":824,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:54Z"} authorization-1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Sent response.","req_id":824,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.783979,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7bdd7b9-d973-4e89-896f-b4f364f11049","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/b7bdd7b9-d973-4e89-896f-b4f364f11049","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444074,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3NH0.MWuzKSakl7jFrcasgTZ3QLVGkzE1AhdU1vMhYiQsYrI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"166af0d0-3d2b-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4063f9ad-e503-4bad-b9f2-de0ba414f8b2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4063f9ad-e503-4bad-b9f2-de0ba414f8b2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:51.880088481Z"}]},"request_id":"f792a362-65bb-4aed-b7ae-33abce010f25","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444074.0860417} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"166ac9c0-3d2b-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7bdd7b9-d973-4e89-896f-b4f364f11049","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7bdd7b9-d973-4e89-896f-b4f364f11049","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:51.918788014Z"}]},"request_id":"bdd9c750-2970-4e64-9d69-3e5d8033d16c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444074.0868013} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"166af0d0-3d2b-11ef-b23c-0125361f42d1"},"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/4063f9ad-e503-4bad-b9f2-de0ba414f8b2? 200 15ms","method":"GET","requestID":"166ac9c0-3d2b-11ef-b23c-0125361f42d1","responseTime":15,"status":200,"url":"/devices/4063f9ad-e503-4bad-b9f2-de0ba414f8b2?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/b7bdd7b9-d973-4e89-896f-b4f364f11049? 200 14ms","method":"GET","requestID":"166af0d0-3d2b-11ef-b23c-0125361f42d1","responseTime":14,"status":200,"url":"/devices/b7bdd7b9-d973-4e89-896f-b4f364f11049?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5953845-328b-4f42-b6ef-4ec2910e0e7e"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5953845-328b-4f42-b6ef-4ec2910e0e7e"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5953845-328b-4f42-b6ef-4ec2910e0e7e"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5953845-328b-4f42-b6ef-4ec2910e0e7e"},"level":"info","message":"Attempting to instantiate devices for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":825,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:54Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":825,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.152741,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:54Z"} authorization-1 | {"action":"instantiate","level":"info","message":"opa_check","object":"device:http://localhost/devices/4063f9ad-e503-4bad-b9f2-de0ba414f8b2","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/4063f9ad-e503-4bad-b9f2-de0ba414f8b2","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444074,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3NH0.MWuzKSakl7jFrcasgTZ3QLVGkzE1AhdU1vMhYiQsYrI"} 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":"166f0f80-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4d3efef-5876-4c47-8f77-cc3b8e8bf215","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"c8f522ce-c36c-42d4-abed-be098fb56141","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444074.1318314} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1b556121-cd20-415c-a324-08927aa0f3c4","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444074.1321008} 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":"166f0f80-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} device-1 | {"level":"info","message":"registering changed-callback for device 'http://localhost/devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postDevicesByDeviceId succeeded"} authentication-1 | {"level":"info","message":"POST /token 201 27ms","method":"POST","requestID":"1674dbe0-3d2b-11ef-90df-fb36a2ae9351","responseTime":27,"status":201,"url":"/token"} device-1 | {"level":"info","message":"POST /devices/4063f9ad-e503-4bad-b9f2-de0ba414f8b2?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 72ms","method":"POST","requestID":"166f0f80-3d2b-11ef-b23c-0125361f42d1","responseTime":72,"status":201,"url":"/devices/4063f9ad-e503-4bad-b9f2-de0ba414f8b2?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5953845-328b-4f42-b6ef-4ec2910e0e7e"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5953845-328b-4f42-b6ef-4ec2910e0e7e"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5953845-328b-4f42-b6ef-4ec2910e0e7e"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5953845-328b-4f42-b6ef-4ec2910e0e7e"},"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/a5953845-328b-4f42-b6ef-4ec2910e0e7e"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":826,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:54Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":826,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.991042,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:54Z"} authorization-1 | {"client_addr":"127.0.0.1:35266","level":"info","msg":"Received request.","req_id":827,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444074,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3NH0.MWuzKSakl7jFrcasgTZ3QLVGkzE1AhdU1vMhYiQsYrI"} 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":"16830cb0-3d2b-11ef-b23c-0125361f42d1"},"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":827,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.889592,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:54Z"} authorization-1 | {"client_addr":"127.0.0.1:57316","level":"info","msg":"Received request.","req_id":828,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7bdd7b9-d973-4e89-896f-b4f364f11049","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/b7bdd7b9-d973-4e89-896f-b4f364f11049","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444074,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3NH0.MWuzKSakl7jFrcasgTZ3QLVGkzE1AhdU1vMhYiQsYrI"} 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":"16835ad0-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:57316","level":"info","msg":"Sent response.","req_id":828,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.457316,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:54Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4d3efef-5876-4c47-8f77-cc3b8e8bf215","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bee441d0-a0e5-442c-a75a-f43bfba2c226","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444074.2466428} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215","object_type":"device","rebac_allow":false,"scope_allow":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":"1683a8f0-3d2b-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4d3efef-5876-4c47-8f77-cc3b8e8bf215","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4d3efef-5876-4c47-8f77-cc3b8e8bf215","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:54.131785724Z"}]},"request_id":"580d6ccc-b293-4b1c-8abc-cd799c6bbe95","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444074.2500672} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"16830cb0-3d2b-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7bdd7b9-d973-4e89-896f-b4f364f11049","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7bdd7b9-d973-4e89-896f-b4f364f11049","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:51.918788014Z"}]},"request_id":"3180d240-74c6-4c99-807a-0e0892e82f39","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444074.2523193} device-1 | {"data":{"error":"MissingEntityError","message":"Could not find websocket connection for device d4d3efef-5876-4c47-8f77-cc3b8e8bf215","method":"POST","stack":"MissingEntityError: Could not find websocket connection for device d4d3efef-5876-4c47-8f77-cc3b8e8bf215\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/d4d3efef-5876-4c47-8f77-cc3b8e8bf215/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"1683a8f0-3d2b-11ef-b23c-0125361f42d1"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"16835ad0-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"POST /devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215/signaling 404 16ms","method":"POST","requestID":"1683a8f0-3d2b-11ef-b23c-0125361f42d1","responseTime":16,"status":404,"url":"/devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215/signaling"} experiment-1 | {"data":{"response":{"body":{"error":"MissingEntityError","message":"Could not find websocket connection for device d4d3efef-5876-4c47-8f77-cc3b8e8bf215"},"status":404}},"level":"error","message":"Could not send status-update message"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215? 200 27ms","method":"GET","requestID":"16830cb0-3d2b-11ef-b23c-0125361f42d1","responseTime":27,"status":200,"url":"/devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/b7bdd7b9-d973-4e89-896f-b4f364f11049? 200 26ms","method":"GET","requestID":"16835ad0-3d2b-11ef-b23c-0125361f42d1","responseTime":26,"status":200,"url":"/devices/b7bdd7b9-d973-4e89-896f-b4f364f11049?"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":829,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:54Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7bdd7b9-d973-4e89-896f-b4f364f11049","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6ef7127f-fb99-4a03-b63b-794ecfe69c0c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444074.2638838} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa5953845-328b-4f42-b6ef-4ec2910e0e7e#owner@http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa5953845-328b-4f42-b6ef-4ec2910e0e7e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"58926758-203b-4956-b201-e938c35bb57a","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444074.2641659} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fc5d882f-13c3-424d-aeb9-505b4be4fd13","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444074.2645416} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":829,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.330613,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7bdd7b9-d973-4e89-896f-b4f364f11049","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b7bdd7b9-d973-4e89-896f-b4f364f11049","object_type":"device","rebac_allow":false,"scope_allow":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":"16868f20-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} 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":"40d38a149863017ab586bbbd367bee19"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/b7bdd7b9-d973-4e89-896f-b4f364f11049/signaling 200 10ms","method":"POST","requestID":"16868f20-3d2b-11ef-b23c-0125361f42d1","responseTime":10,"status":200,"url":"/devices/b7bdd7b9-d973-4e89-896f-b4f364f11049/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/a5953845-328b-4f42-b6ef-4ec2910e0e7e","user":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment-1 | {"level":"info","message":"POST /experiments? 201 234ms","method":"POST","requestID":"40d38a149863017ab586bbbd367bee19","responseTime":234,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"08/Jul/2024:13:07:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1107","request_time":"0.241","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"40d38a149863017ab586bbbd367bee19"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"036b9073dd02415b63c9808847d8ec44","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:07:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215/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":"036b9073dd02415b63c9808847d8ec44"} device-1 | {"level":"info","message":"OPTIONS /devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215/websocket 200 1ms","method":"OPTIONS","requestID":"036b9073dd02415b63c9808847d8ec44","responseTime":1,"status":200,"url":"/devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6Imw1cW1PNG9ZZGJjVHJvZ2dQMUxURkcwSWNycjM5cE1lNFZtN082NGt4d1dZTWlreTBWWWFiRERLUGt1dVBKeGlORzM2RW9ZdV9VZTNlMkVkVUI2aUN3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3Nn0.kGLoWGRxumFOMAMtakxLTtX2JZoQ9bQIWe6oCEqIy6I","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"201ef86155a924af7444e4c7616b723e","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":830,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:56Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":830,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.113708,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:56Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215","object_type":"device","payload":{"admin":true,"edgeToken":"l5qmO4oYdbcTroggP1LTFG0Icrr39pMe4Vm7O64kxwWYMiky0VYabDDKPkuuPJxiNG36EoYu_Ue3e2EdUB6iCw","iat":1720444076,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6Imw1cW1PNG9ZZGJjVHJvZ2dQMUxURkcwSWNycjM5cE1lNFZtN082NGt4d1dZTWlreTBWWWFiRERLUGt1dVBKeGlORzM2RW9ZdV9VZTNlMkVkVUI2aUN3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3Nn0.kGLoWGRxumFOMAMtakxLTtX2JZoQ9bQIWe6oCEqIy6I"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"201ef86155a924af7444e4c7616b723e"},"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/d4d3efef-5876-4c47-8f77-cc3b8e8bf215/websocket 200 20ms","method":"POST","requestID":"201ef86155a924af7444e4c7616b723e","responseTime":20,"status":200,"url":"/devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215/websocket"} gateway-1 | {"time_local":"08/Jul/2024:13:07:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.027","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"201ef86155a924af7444e4c7616b723e"} device-1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"device 'http://localhost/devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215' 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":"c4eb1dc9b417e7fd3dc5887860eee542","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","device":{"announcedAvailability":[],"connected":true,"description":"A JS test device","isPublic":true,"name":"JS Device 1","services":[],"type":"device","url":"http://localhost/devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215"},"eventType":"device-changed"}},"level":"info","message":"received a callback"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3Nn0.dOroEvSo4KA9iIw5ouMKNHd2ccf073VopbQEoLkVisI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d5b7438cb3a811d6de49f6ec3ec5f2d4","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":831,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:56Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":831,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.166977,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444076,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3Nn0.dOroEvSo4KA9iIw5ouMKNHd2ccf073VopbQEoLkVisI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d5b7438cb3a811d6de49f6ec3ec5f2d4"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4d3efef-5876-4c47-8f77-cc3b8e8bf215","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4d3efef-5876-4c47-8f77-cc3b8e8bf215","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:54.131785724Z"}]},"request_id":"6c8beea9-6ece-414e-9e87-b40cff3df805","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444076.3683312} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d5b7438cb3a811d6de49f6ec3ec5f2d4"},"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":"08/Jul/2024:13:07:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d5b7438cb3a811d6de49f6ec3ec5f2d4"} device-1 | {"level":"info","message":"GET /devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215? 200 15ms","method":"GET","requestID":"d5b7438cb3a811d6de49f6ec3ec5f2d4","responseTime":15,"status":200,"url":"/devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215?"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 19ms","method":"POST","requestID":"c4eb1dc9b417e7fd3dc5887860eee542","responseTime":19,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch","requestID":"c4eb1dc9b417e7fd3dc5887860eee542"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3Nn0.dOroEvSo4KA9iIw5ouMKNHd2ccf073VopbQEoLkVisI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0baed6ddf261f013f3b9d66615211daf","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":832,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:56Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":832,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.697082,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7bdd7b9-d973-4e89-896f-b4f364f11049","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/b7bdd7b9-d973-4e89-896f-b4f364f11049","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444076,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3Nn0.dOroEvSo4KA9iIw5ouMKNHd2ccf073VopbQEoLkVisI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0baed6ddf261f013f3b9d66615211daf"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7bdd7b9-d973-4e89-896f-b4f364f11049","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7bdd7b9-d973-4e89-896f-b4f364f11049","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:51.918788014Z"}]},"request_id":"4ef4c615-5fe1-453a-af5c-e81a2f036b0c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444076.3876956} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0baed6ddf261f013f3b9d66615211daf"},"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":"08/Jul/2024:13:07:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b7bdd7b9-d973-4e89-896f-b4f364f11049? 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":"0baed6ddf261f013f3b9d66615211daf"} device-1 | {"level":"info","message":"GET /devices/b7bdd7b9-d973-4e89-896f-b4f364f11049? 200 13ms","method":"GET","requestID":"0baed6ddf261f013f3b9d66615211daf","responseTime":13,"status":200,"url":"/devices/b7bdd7b9-d973-4e89-896f-b4f364f11049?"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":833,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:59Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":833,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.58058,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444074,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3NH0.MWuzKSakl7jFrcasgTZ3QLVGkzE1AhdU1vMhYiQsYrI"} 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":"1982b820-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:57318","level":"info","msg":"Received request.","req_id":834,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:59Z"} authorization-1 | {"client_addr":"127.0.0.1:57318","level":"info","msg":"Sent response.","req_id":834,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.412835,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7bdd7b9-d973-4e89-896f-b4f364f11049","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/b7bdd7b9-d973-4e89-896f-b4f364f11049","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444074,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3NH0.MWuzKSakl7jFrcasgTZ3QLVGkzE1AhdU1vMhYiQsYrI"} 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":"19830640-3d2b-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7bdd7b9-d973-4e89-896f-b4f364f11049","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7bdd7b9-d973-4e89-896f-b4f364f11049","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:51.918788014Z"}]},"request_id":"1aad0ca1-1e8f-4793-af2c-10de8c206229","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444079.2812173} 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":"19830640-3d2b-11ef-b23c-0125361f42d1"},"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:53712","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4d3efef-5876-4c47-8f77-cc3b8e8bf215","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4d3efef-5876-4c47-8f77-cc3b8e8bf215","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"},"timestamp":"2024-07-08T13:07:54.131785724Z"}]},"request_id":"1c26e959-8a42-4ae6-8a27-e4bbf8540198","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444079.2827532} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1982b820-3d2b-11ef-b23c-0125361f42d1"},"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/b7bdd7b9-d973-4e89-896f-b4f364f11049? 200 22ms","method":"GET","requestID":"19830640-3d2b-11ef-b23c-0125361f42d1","responseTime":22,"status":200,"url":"/devices/b7bdd7b9-d973-4e89-896f-b4f364f11049?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215? 200 25ms","method":"GET","requestID":"1982b820-3d2b-11ef-b23c-0125361f42d1","responseTime":25,"status":200,"url":"/devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":835,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:59Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4d3efef-5876-4c47-8f77-cc3b8e8bf215","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7cef33c8-c6ae-4bee-8042-1a54462bbee8","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444079.3006825} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":835,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.16268,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215","object_type":"device","rebac_allow":false,"scope_allow":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":"1986fde0-3d2b-11ef-b23c-0125361f42d1"},"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/d4d3efef-5876-4c47-8f77-cc3b8e8bf215/signaling 200 13ms","method":"POST","requestID":"1986fde0-3d2b-11ef-b23c-0125361f42d1","responseTime":13,"status":200,"url":"/devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":836,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:59Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7bdd7b9-d973-4e89-896f-b4f364f11049","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5e040965-53ea-4572-97dc-ac2215419d35","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444079.3167982} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":836,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.872651,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7bdd7b9-d973-4e89-896f-b4f364f11049","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b7bdd7b9-d973-4e89-896f-b4f364f11049","object_type":"device","rebac_allow":false,"scope_allow":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":"19896ee0-3d2b-11ef-b23c-0125361f42d1"},"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/b7bdd7b9-d973-4e89-896f-b4f364f11049/signaling 200 13ms","method":"POST","requestID":"19896ee0-3d2b-11ef-b23c-0125361f42d1","responseTime":13,"status":200,"url":"/devices/b7bdd7b9-d973-4e89-896f-b4f364f11049/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5953845-328b-4f42-b6ef-4ec2910e0e7e"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5953845-328b-4f42-b6ef-4ec2910e0e7e"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"a7c93e25-f1cc-48fd-be4d-df5fdbcbb1b0"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"1e5be16c-e6ab-4934-a3f4-0d1c4c111152"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"26a9bcb2-33fb-4787-92b4-60051d6afbeb"}]},"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/b7bdd7b9-d973-4e89-896f-b4f364f11049"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":837,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:59Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":837,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.259371,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:59Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444074,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3NH0.MWuzKSakl7jFrcasgTZ3QLVGkzE1AhdU1vMhYiQsYrI"} 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":"198c06f0-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","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%2F55c35866-2b71-4309-b49e-f2f2c378d940'. 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:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]}},"raw_response":{},"request_id":"3c3a0b57-6698-421e-a93a-3e4b84fcb192","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444079.3448095} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d47e6a34-2cb4-413c-8b15-ed1b061dfebd","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444079.345358} 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":"198c06f0-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/537ecc45-7dff-4b1c-92f4-75b2c220f0ff'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/537ecc45-7dff-4b1c-92f4-75b2c220f0ff'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 34ms","method":"POST","requestID":"198c06f0-3d2b-11ef-b23c-0125361f42d1","responseTime":34,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5953845-328b-4f42-b6ef-4ec2910e0e7e"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":838,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:59Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4d3efef-5876-4c47-8f77-cc3b8e8bf215","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5c6b6ac1-dd26-4877-8701-53aaf2114e17","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444079.4029806} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":838,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.861961,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215","object_type":"device","rebac_allow":false,"scope_allow":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":"1996dc60-3d2b-11ef-b23c-0125361f42d1"},"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/d4d3efef-5876-4c47-8f77-cc3b8e8bf215/signaling 200 9ms","method":"POST","requestID":"1996dc60-3d2b-11ef-b23c-0125361f42d1","responseTime":9,"status":200,"url":"/devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":839,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:59Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7bdd7b9-d973-4e89-896f-b4f364f11049","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"61461d08-cad0-4be5-92df-7c4129cbb013","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444079.413993} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":839,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.402264,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7bdd7b9-d973-4e89-896f-b4f364f11049","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b7bdd7b9-d973-4e89-896f-b4f364f11049","object_type":"device","rebac_allow":false,"scope_allow":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":"19988a10-3d2b-11ef-b23c-0125361f42d1"},"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/b7bdd7b9-d973-4e89-896f-b4f364f11049/signaling 200 8ms","method":"POST","requestID":"19988a10-3d2b-11ef-b23c-0125361f42d1","responseTime":8,"status":200,"url":"/devices/b7bdd7b9-d973-4e89-896f-b4f364f11049/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/b7bdd7b9-d973-4e89-896f-b4f364f11049'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/b7bdd7b9-d973-4e89-896f-b4f364f11049'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/537ecc45-7dff-4b1c-92f4-75b2c220f0ff' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"537ecc45-7dff-4b1c-92f4-75b2c220f0ff","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":"ae83b4847b17817cab6b8b10be54cb1a","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/b7bdd7b9-d973-4e89-896f-b4f364f11049"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/537ecc45-7dff-4b1c-92f4-75b2c220f0ff"}}},"level":"info","message":"received a callback"} gateway-1 | {"time_local":"08/Jul/2024:13:07:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"ae83b4847b17817cab6b8b10be54cb1a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"ae83b4847b17817cab6b8b10be54cb1a","responseTime":5,"status":200,"url":"/callbacks/experiment"} device-1 | {"data":{"peerconnection":"537ecc45-7dff-4b1c-92f4-75b2c220f0ff","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"537ecc45-7dff-4b1c-92f4-75b2c220f0ff","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/537ecc45-7dff-4b1c-92f4-75b2c220f0ff' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"537ecc45-7dff-4b1c-92f4-75b2c220f0ff","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":"e3d4a5e4bc2ee833f3dabd5bf30d4850","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/b7bdd7b9-d973-4e89-896f-b4f364f11049"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/537ecc45-7dff-4b1c-92f4-75b2c220f0ff"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":840,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:59Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F537ecc45-7dff-4b1c-92f4-75b2c220f0ff","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"47b2d3c6-6d4d-4113-aedf-97bcaaa56941","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444079.487671} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":840,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.75945,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/537ecc45-7dff-4b1c-92f4-75b2c220f0ff","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/537ecc45-7dff-4b1c-92f4-75b2c220f0ff","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":"19a3d4b0-3d2b-11ef-b23c-0125361f42d1"},"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/537ecc45-7dff-4b1c-92f4-75b2c220f0ff 200 7ms","method":"GET","requestID":"19a3d4b0-3d2b-11ef-b23c-0125361f42d1","responseTime":7,"status":200,"url":"/peerconnections/537ecc45-7dff-4b1c-92f4-75b2c220f0ff"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 30ms","method":"POST","requestID":"e3d4a5e4bc2ee833f3dabd5bf30d4850","responseTime":30,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.034","http_referrer":"","http_user_agent":"node-fetch","requestID":"e3d4a5e4bc2ee833f3dabd5bf30d4850"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":841,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:59Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7bdd7b9-d973-4e89-896f-b4f364f11049","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d9e6f9ee-d927-4f99-a30f-b1b15ac0bcf7","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444079.5145144} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":841,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.193634,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7bdd7b9-d973-4e89-896f-b4f364f11049","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b7bdd7b9-d973-4e89-896f-b4f364f11049","object_type":"device","rebac_allow":false,"scope_allow":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":"19a7f360-3d2b-11ef-b23c-0125361f42d1"},"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/b7bdd7b9-d973-4e89-896f-b4f364f11049/signaling 200 7ms","method":"POST","requestID":"19a7f360-3d2b-11ef-b23c-0125361f42d1","responseTime":7,"status":200,"url":"/devices/b7bdd7b9-d973-4e89-896f-b4f364f11049/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":842,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:59Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4d3efef-5876-4c47-8f77-cc3b8e8bf215","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4c975406-74a5-4864-96ed-5c35d61259a0","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444079.5233698} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":842,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.51298,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215","object_type":"device","rebac_allow":false,"scope_allow":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":"19a952f0-3d2b-11ef-b23c-0125361f42d1"},"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/d4d3efef-5876-4c47-8f77-cc3b8e8bf215/signaling 200 8ms","method":"POST","requestID":"19a952f0-3d2b-11ef-b23c-0125361f42d1","responseTime":8,"status":200,"url":"/devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3OX0.0yRH0loxEcJbZxWxXKi7u-q3TfZXyXg3d0oxZvCoeS4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fe73a756f414b041e2d4b478da2805dd","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/a5953845-328b-4f42-b6ef-4ec2910e0e7e"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":843,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:59Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":843,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.932934,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a5953845-328b-4f42-b6ef-4ec2910e0e7e","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/a5953845-328b-4f42-b6ef-4ec2910e0e7e","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444079,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3OX0.0yRH0loxEcJbZxWxXKi7u-q3TfZXyXg3d0oxZvCoeS4"} 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":"fe73a756f414b041e2d4b478da2805dd"},"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/a5953845-328b-4f42-b6ef-4ec2910e0e7e"} gateway-1 | {"time_local":"08/Jul/2024:13:07:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a5953845-328b-4f42-b6ef-4ec2910e0e7e HTTP/1.1","status": "200","body_bytes_sent":"1180","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fe73a756f414b041e2d4b478da2805dd"} experiment-1 | {"level":"info","message":"GET /experiments/a5953845-328b-4f42-b6ef-4ec2910e0e7e 200 10ms","method":"GET","requestID":"fe73a756f414b041e2d4b478da2805dd","responseTime":10,"status":200,"url":"/experiments/a5953845-328b-4f42-b6ef-4ec2910e0e7e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3OX0.0yRH0loxEcJbZxWxXKi7u-q3TfZXyXg3d0oxZvCoeS4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6d527269251b72fc64415aee59f3b27c","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/a5953845-328b-4f42-b6ef-4ec2910e0e7e"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":844,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:59Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":844,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.649505,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:59Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a5953845-328b-4f42-b6ef-4ec2910e0e7e","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"experiment:http://localhost/experiments/a5953845-328b-4f42-b6ef-4ec2910e0e7e","object_type":"experiment","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444079,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3OX0.0yRH0loxEcJbZxWxXKi7u-q3TfZXyXg3d0oxZvCoeS4"} 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":"6d527269251b72fc64415aee59f3b27c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5953845-328b-4f42-b6ef-4ec2910e0e7e"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":845,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:59Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":845,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.65021,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:59Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/537ecc45-7dff-4b1c-92f4-75b2c220f0ff","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"peerconnection:http://localhost/peerconnections/537ecc45-7dff-4b1c-92f4-75b2c220f0ff","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444079,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3OX0.0yRH0loxEcJbZxWxXKi7u-q3TfZXyXg3d0oxZvCoeS4"} 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":"19b40150-3d2b-11ef-b23c-0125361f42d1"},"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/537ecc45-7dff-4b1c-92f4-75b2c220f0ff' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/537ecc45-7dff-4b1c-92f4-75b2c220f0ff' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"537ecc45-7dff-4b1c-92f4-75b2c220f0ff","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F537ecc45-7dff-4b1c-92f4-75b2c220f0ff': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F537ecc45-7dff-4b1c-92f4-75b2c220f0ff","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"32441cbb-6e9d-4043-9e02-210440467c20","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444079.6031845} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"25f4375d-d3e2-455a-9ce7-02ef4e9e7fc7","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444079.6034462} 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":"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":"19b40150-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9ae01e39a4039625be7bc4c6f74a33c0","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/b7bdd7b9-d973-4e89-896f-b4f364f11049"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/537ecc45-7dff-4b1c-92f4-75b2c220f0ff"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/537ecc45-7dff-4b1c-92f4-75b2c220f0ff 204 19ms","method":"DELETE","requestID":"19b40150-3d2b-11ef-b23c-0125361f42d1","responseTime":19,"status":204,"url":"/peerconnections/537ecc45-7dff-4b1c-92f4-75b2c220f0ff"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b1b961b189282fe4dc2b1dece409d1b1","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/b7bdd7b9-d973-4e89-896f-b4f364f11049"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/537ecc45-7dff-4b1c-92f4-75b2c220f0ff"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"deleteDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":846,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:59Z"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":846,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.895303,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:59Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940","object":"device:http://localhost/devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215","object_type":"device","payload":{"admin":true,"edgeToken":"AGX2_AzgFb0ONSRpbpXqCiCScWFX5RUcTemyzESOTjWXNQJDB1ULlpnLPTT3XfMunH4DB9gugp-rQkXAUz1Hjw","iat":1720444079,"sub":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940","subject_alt":"http://localhost/users/55c35866-2b71-4309-b49e-f2f2c378d940"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzU1YzM1ODY2LTJiNzEtNDMwOS1iNDllLWYyZjJjMzc4ZDk0MCIsImVkZ2VUb2tlbiI6IkFHWDJfQXpnRmIwT05TUnBicFhxQ2lDU2NXRlg1UlVjVGVteXpFU09UaldYTlFKREIxVUxscG5MUFRUM1hmTXVuSDREQjlndWdwLXJRa1hBVXoxSGp3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NDA3OX0.0yRH0loxEcJbZxWxXKi7u-q3TfZXyXg3d0oxZvCoeS4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","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":"19b735a0-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215'"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4d3efef-5876-4c47-8f77-cc3b8e8bf215': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4d3efef-5876-4c47-8f77-cc3b8e8bf215","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"903c13ae-073d-410a-8a48-9e40f0d2adcc","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444079.6237872} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0cdaf8cb-88ed-4020-ba29-71c159b50266","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444079.623984} 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":"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":"19b735a0-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"deleteDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"DELETE /devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215 204 24ms","method":"DELETE","requestID":"19b735a0-3d2b-11ef-b23c-0125361f42d1","responseTime":24,"status":204,"url":"/devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5953845-328b-4f42-b6ef-4ec2910e0e7e"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":847,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:59Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7bdd7b9-d973-4e89-896f-b4f364f11049","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1652ef92-7299-419f-86c8-1233d329a6e1","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444079.6546373} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":847,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.805286,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7bdd7b9-d973-4e89-896f-b4f364f11049","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b7bdd7b9-d973-4e89-896f-b4f364f11049","object_type":"device","rebac_allow":false,"scope_allow":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":"19bd5020-3d2b-11ef-b23c-0125361f42d1"},"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/b7bdd7b9-d973-4e89-896f-b4f364f11049/signaling 200 9ms","method":"POST","requestID":"19bd5020-3d2b-11ef-b23c-0125361f42d1","responseTime":9,"status":200,"url":"/devices/b7bdd7b9-d973-4e89-896f-b4f364f11049/signaling"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa5953845-328b-4f42-b6ef-4ec2910e0e7e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa5953845-328b-4f42-b6ef-4ec2910e0e7e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F55c35866-2b71-4309-b49e-f2f2c378d940"}]},"store_id":"01J2976NTB6683FF4WGCXC7BA7","writes":null},"raw_response":{},"request_id":"321634e6-1861-4880-bcce-67b96a10ee02","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444079.6603842} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"id":"01J2976NW1R9Z5SE309FG3MBR8","store_id":"01J2976NTB6683FF4WGCXC7BA7"},"raw_response":{"authorization_model":{"id":"01J2976NW1R9Z5SE309FG3MBR8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"059af792-49e9-424a-8345-f1a503ee382b","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444079.6606288} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6d527269251b72fc64415aee59f3b27c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Received request.","req_id":848,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:07:59Z"} authorization-1 | {"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:53712","raw_request":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","contextual_tuples":null,"store_id":"01J2976NTB6683FF4WGCXC7BA7","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4d3efef-5876-4c47-8f77-cc3b8e8bf215","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"61e7276d-659c-4b52-8067-c846933fce5c","store_id":"01J2976NTB6683FF4WGCXC7BA7","subsystem":"openfga","timestamp":1720444079.6652997} authorization-1 | {"client_addr":"127.0.0.1:58600","level":"info","msg":"Sent response.","req_id":848,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.414415,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:07:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215","openfga":{"authorization_model_id":"01J2976NW1R9Z5SE309FG3MBR8","store":"01J2976NTB6683FF4WGCXC7BA7"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215","object_type":"device","rebac_allow":false,"scope_allow":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":"19befdd0-3d2b-11ef-b23c-0125361f42d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} 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/d4d3efef-5876-4c47-8f77-cc3b8e8bf215/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"19befdd0-3d2b-11ef-b23c-0125361f42d1"} device-1 | {"level":"info","message":"POST /devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215/signaling 404 8ms","method":"POST","requestID":"19befdd0-3d2b-11ef-b23c-0125361f42d1","responseTime":8,"status":404,"url":"/devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215/signaling"} experiment-1 | {"data":{"response":{"body":{"error":"MissingEntityError","message":"The requested Device Overview does not exist in the database"},"status":404}},"level":"error","message":"Could not send status-update message"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/a5953845-328b-4f42-b6ef-4ec2910e0e7e"} gateway-1 | {"time_local":"08/Jul/2024:13:07:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/a5953845-328b-4f42-b6ef-4ec2910e0e7e HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.150","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6d527269251b72fc64415aee59f3b27c"} experiment-1 | {"level":"info","message":"DELETE /experiments/a5953845-328b-4f42-b6ef-4ec2910e0e7e 204 146ms","method":"DELETE","requestID":"6d527269251b72fc64415aee59f3b27c","responseTime":146,"status":204,"url":"/experiments/a5953845-328b-4f42-b6ef-4ec2910e0e7e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 119ms","method":"POST","requestID":"9ae01e39a4039625be7bc4c6f74a33c0","responseTime":119,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.122","http_referrer":"","http_user_agent":"node-fetch","requestID":"9ae01e39a4039625be7bc4c6f74a33c0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 117ms","method":"POST","requestID":"b1b961b189282fe4dc2b1dece409d1b1","responseTime":117,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.121","http_referrer":"","http_user_agent":"node-fetch","requestID":"b1b961b189282fe4dc2b1dece409d1b1"} gateway-1 | {"time_local":"08/Jul/2024:13:07:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2646","request_time":"5.745","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"13e184882e0ad3a4f6fd8fa3b542abfa"} gateway-1 | {"time_local":"08/Jul/2024:13:07:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2406","request_time":"3.401","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0409a198f6711a3b3cdbb0db3cc05408"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b7bdd7b9-d973-4e89-896f-b4f364f11049' closed"} device-1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215' closed"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a5ad855f0ff81f2a0b4a23ddd3f61136","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","device":{"announcedAvailability":[],"connected":false,"description":"A JS test device","isPublic":true,"name":"JS Device 1","services":[],"type":"device","url":"http://localhost/devices/d4d3efef-5876-4c47-8f77-cc3b8e8bf215"},"eventType":"device-changed"}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 410 2ms","method":"POST","requestID":"a5ad855f0ff81f2a0b4a23ddd3f61136","responseTime":2,"status":410,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:07:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "410","body_bytes_sent":"5","request_time":"0.005","http_referrer":"","http_user_agent":"node-fetch","requestID":"a5ad855f0ff81f2a0b4a23ddd3f61136"} authentication-1 exited with code 0 device-1 exited with code 0 federation-1 exited with code 0 authorization-1 exited with code 0 experiment-1 exited with code 0 gateway-1 exited with code 0